Traduza

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिनà¥à¤¦à¥€ अनà¥à¤µà¤¾à¤¦ करने के लिà¤/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Imagem de começar Google Maps API 3
Imagem de conceitos do sistema de exploração
A imagem de RHCE Red Hat certificou o guia do estudo do linux do coordenador (exame RH302) (a imprensa da certificação)
Imagem do desenvolvimento da semente do linux (ó edição)

Língua de pergunta de XAM

Assim como o fornecimento de meios vendedor-independentes da criação, recuperando, modificando e suprimindo de XSets, a especificação de SNIA XAM v1.0 igualmente define uma língua de pergunta (XAM QL), baseada em um subconjunto da língua do SQL, porque de selecionar e de recuperar o XUIDs de XSets baseado em critérios índice-definidos.

O jogo de palavras reservados para esta língua de pergunta é completamente pequeno: selecione, onde, e, ou, não, como, existe, ligação, de leitura apenas, typeof, comprimento, data, VERDADEIROS, FALSOS, antes que, após, contenha, e dentro. Pelo projeto, as perguntas de XAM olham como uma indicação seleta do SQL. A língua de pergunta é não diferenciando maiúsculas e minúsculas e usa o jogo de caracteres de ASCII.

Está aqui um exemplo de uma pergunta simples de XAM:

select ".xset.xuid" where "com.example.name" = ’Tuckers Plantation'


A versão 1.0 da especificação de XAM define dois níveis de sustentação da língua de pergunta, o nível 1 isto é do nível 1 e do nível 2. define perguntas em propriedades e atributos de campo em XSets e é imperativo. Todo o valor dos bens imóveis de XSet que for acessível a um programa de aplicação através da biblioteca de XAM pode ser perguntado. O nível 2 estende o nível 1 às perguntas da sustentação em XStreams e é opcional. Ambos os níveis de pergunta são alcançados através de um único, tipo definido do trabalho que todos os fornecedores de XAM devam suportar. Desde que nenhum vendedor que eu estou ciente de tem perguntas do nível realmente executado 2, o restante de focos deste borne em perguntas do nível 1.

Uma indicação de pergunta de XAM consiste em uma cláusula seleta imperativa seguida por um opcional onde cláusula. Para XAM v1.0 a única cláusula seleta válida é o `seleto .xset.xuid'. Isto especific que a aplicação está pedindo uma lista de valores de XUID. Por exemplo

select ".xset.xuid "


retornará uma lista de cada XSet que é legível na altura da pergunta.

Onde a cláusula é usada para especific um subconjunto de XSets a ser combinado. Para perguntas do nível 1 é restringida às comparações entre propriedades de XSet e valores e/ou atributos de campo literais e valores literais.

select ".xset.xuid" where ".xam.time.xuid" > date(’2009-02-01T00:00:00.0’)


retornará a lista de todo o Xsets em que foram criados ou após fevereiro ø 2009.

As seguintes mostras da tabela que colocam e os tipos literais podem vàlida ser comparados.

xam_intxam_doublexam_stringxam_datetimexam_xuid
int**
dobro**
corda*
datetime*
XUID*

A biblioteca de XAM valida que as cordas e os liberais das cordas são as cordas UTF-8 de conformação. Os literals de corda UTF-8 Non-conforming geram um erro de sintaxe non-fatal da pergunta de XAM. As edições tais como único contra caráteres múltiplos do glyph e caráteres não printable são nãas especificado e são execução e relativas à aplicação. As comparações da corda são diferenciando maiúsculas e minúsculas e os operadores de comparação operam sobre uma base de byte-por-byte. Para operadores relacionais os relacionamentos são definidos pelos valores do byte. Toda a normalização dos dados é a responsabilidade da aplicação.

As seqüências de escape suportadas são as seguintes. Toda a outra seqüência de escape gerará um erro non-fatal.

\ \Backslash (\)
\ Citações dobro (")
\ 'Únicas citações (')
\ uxxxxUm caráter de Unicode no formato hexadecimal (xxxx)

Os literals de corda devem ser citados com únicas citações. Os literals de corda que contêm uns ou vários caráteres das únicas citações devem escapar cada caráter das únicas citações que usa um backslash. Por exemplo, o literal de corda 'deste é um literal da corda seria representado em uma pergunta como
select ".xset.xuid" where "com.example.string-property" = ’This is a string literal’


Para usar umas únicas citações em uma corda, guarde-a com um backslash

select ".xset.xuid" where "com.example.claimed.ownership" = ’Tucker\’s’


Todos os exemplos de nomes de campo em uma corda da pergunta de XAM devem ser citados com citações dobro. Se um nome de campo contem caráteres das citações dobro, cada caráter das citações dobro deve ser escapado usando um backslash. Por exemplo, o nome de campo para a propriedade xam_boolean com.example. qstring deve ser representado em uma pergunta como

select ".xam.xuid" where "com.example.\"qstring\"" = TRUE


Se um nome de campo contem um caráter do backslash, o backslash próprio deve ser escapado com um outro backslash. Por exemplo, o nome de campo para a propriedade xam_double com.example.file \ relação deve ser representado em uma pergunta como

select ".xam.xuid" where "com.example.file\\ratio" = 100.1


A língua de pergunta aceita o date-time e os literals XUID-avaliados que usam as funções do seletor datam () e xuid () respectivamente. A função da data () toma um valor corretamente dado forma do date-time, especific porque uma corda literal que seja consistente com a especificação do date-time de XAM.

select ".xset.xuid" where ".xam.time.xuid" = date(’2009-06-01T00:00:00.0’)


A função do xuid () espera um XUID que seja sob a forma de um literal de corda codificado base64. Um literal de corda impropriamente dado forma gera um erro non-fatal durante a análise gramatical da pergunta.

Os atributos de campo são utilização alcançada existem, typeof, de leitura apenas, emperramento, e funções do accessor do atributo de campo do comprimento. Existem () os testes de função para a existência de um atributo de campo nomeado (propriedade) em um XSet. Avalia PARA RECTIFICAR se um XSet contem o campo nomeado de outra maneira que avalia FALSO.

select ".xset.xuid" where exists("com.example.name")


A função do typeof () retorna o tipo do MIME de um campo nomeado em um XSet que seja uma propriedade corda-avaliada.

select ".xset.xuid" where typeof("com.example.data") = ’text/plain’
select ".xset.xuid" where typeof("com.example.data") like ’text%’


Esta função pode ser usada sempre que uma aplicação poderia usar uma referência do campo a uma propriedade corda-avaliada. Anote que as comparações com todo o valor literal da não-corda geram um erro non-fatal durante a análise gramatical da pergunta.

() A função de leitura apenas avalia PARA RECTIFICAR quando um campo em um XSet é marcado como de leitura apenas.

select ".xset.xuid" where readonly("com.example.flag")
select ".xset.xuid" where not readonly("com.example.name")


() A função obrigatória avalia PARA RECTIFICAR quando um campo em um XSet é marcado como ligando.

select ".xset.xuid" where binding("com.example.case_id")
select ".xset.xuid" where not binding("com.example.subject")


A função do comprimento () retorna o comprimento, nos bytes, de um campo nomeado.

select ".xset.xuid" where length("com.example.data") > 1024


Quando usado na propriedade coloca retornos desta função o comprimento como definido para stypes. Anote que esta função não deve ser usada para comparar o número de caráteres em uma corda enquanto esta comparação depende da codificação do caráter que está sendo usada.

Giro agora para operadores lógicos. Subclauses dentro do onde a cláusula pode ser combinada e modificado usando os operadores lógicos e, ou e não. Estes operadores são similares a suas contrapartes do SQL.

E operador exige ambos os subclauses avaliar PARA RECTIFICAR antes de incluir um XSet nos resultados. Por exemplo

select ".xset.xuid" where typeof("com.example.stream") = ’image/gif’ and length("com.example.stream") > 4096


seleciona somente aquele XSets que contem as imagens do GIF cujo o tamanho é maior de 4096 bytes. Ou operador avalia PARA RECTIFICAR se um ou outro subclause avalia PARA RECTIFICAR. Por exemplo

select ".xset.xuid" where typeof("com.example.stream") = ’image/jpeg’ or typeof("com.example.stream") = ’image/gif’


seleciona somente aquele XSets que contem um córrego nomeado do tipo JPEG ou GIF da imagem. Não o operador nega uma expressão booleana. Por exemplo

select ".xset.xuid" where not binding("com.example.property")


seleciona todo o XSets com a propriedade nonbinding com.example.property.

Como em determinados operadores do SQL tome a precedência sobre outros operadores nas perguntas. A precedência de operador de XAM QL é como segue:

PRECEDÊNCIAOPERADOR
1existe, de leitura apenas, typeof, comprimento, emperramento, +, -
2= <>, >, >=, <>
3não
4e
5ou

Os operadores da mesma precedência são avaliados à esquerda à direita dentro de uma pergunta. Entretanto a precedência de operador pode ser cancelada usando parênteses como mostrada pelo seguinte exemplo.
select ".xset.xuid" where not "com.example.bool-prop" and  "com.example.int-prop" = 64
select ".xset.xuid" where not ("com.example.bool-prop" and "com.example.int-prop" = 64)


No primeiro exemplo, não o operador aplica-se somente à propriedade de com.example.bool-prop. No segundo exemplo, não o operador aplica-se a com.example.bool-prop e a com.example.int-prop = 42.

Agora que nós somos um tanto familiares com a sintaxe de XAM QL, a pergunta seguinte a ser respondida é como nós dizemos um sistema do armazenamento de XAM para executar uma pergunta e para nos retornar os resultados. Bem despeja que uma pergunta está executada como um tipo particular de trabalho de XAM chamou um trabalho da pergunta. A entrada a um trabalho da pergunta é um XSet que você deva criar. Este XSet deve conter dois artigos - o mand de org.snia.xam.job.com do campo que é ajustado sempre ao `xam.job.query e a um mand de XStream xam.job.query.com que seja um córrego de texto UTF-8 (tipo texto do MIME do `/liso; charset=utf-8') contendo a corda real da expressão da pergunta.

Um trabalho da pergunta pode opcionalmente ser cometido antes ou durante da execução do trabalho, mas este comete não é exigido. A habilidade de cometer um trabalho running é dependente opcional e da execução. Uma aplicação pode determinar se o trabalho comete é suportado verific a propriedade booleana .xsystem.job.com mit.supported de XSystem. A falha cometer um trabalho da pergunta antes de fechar o XSet significa que os resultados do trabalho da pergunta não estão armazenados persistente.

Um trabalho da pergunta é executado invocando o submitJob. Se qualquer um dos dois artigos exigidos no trabalho XSet da pergunta não é preenchido corretamente, o campo padrão .xam.job.error do erro do trabalho está adicionado ao trabalho XSet da pergunta e é valor é ajustado a um ou outro org.snia.xam:: not_a_job ou org.snia.xam:: o unspecified_command e o trabalho da pergunta são abortados. Segundo as indicações da aplicação de amostra abaixo, o estado de um trabalho da pergunta pode ser determinado examinando o valor de .xam.job.status.

Quando um trabalho da pergunta é bem sucedido, os resultados estão armazenados no trabalho XSet da pergunta sob a forma de um XStream novo nomeado xam.job.query.results. Este XStream tem um tipo do MIME da aplicação/vnd.snia.xam.query.xuid_list e contem o XUIDs para o jogo de XSets resultando da avaliação da pergunta. Cada XUID é armazenado em um formato binário como parte de um registro de 80 bytes. Se um XUID é mais curto de 80 bytes, o registro é zero acolchoado a 80 bytes.

Um número outras de propriedades em relação aos resultados XStream igualmente setup. A propriedade xam.job.query.results.count do xam_int contem a contagem atual dos registros de XUID nos resultados XStream. Esta propriedade é actualizado porque os resultados são incorporados nos resultados XStream durante o processamento da pergunta. Uma aplicação pode usar esta para fornecer a informação de status aos usuários enquanto o trabalho da pergunta executa. A propriedade xam_string xam.job.query.level indica o nível da pergunta que combina os resultados. Seu valor é org.snia.xam.job.query.level.1 ou org.snia.xam.job.query.level.2.

É importante recordar que um trabalho da pergunta se opera dentro dos papéis e das permissões concedidos à conexão. Isso significa que os resultados XStream incluem somente aquele XSets que são visíveis e acessíveis a uma aplicação, pelo menos de uma perspectiva lida, de acordo com o papel sob que o trabalho da pergunta é executado.

O trabalho da pergunta pode ajustar os seguintes códigos de erro em .xam.job.error:

xam.job.query:: level_not_supportedO sistema do armazenamento de XAM é incapaz de suportar o nível da pergunta especific no trabalho da pergunta. Um erro non-fatal.
xam.job.query:: invalid_command_syntaxUm erro de sintaxe non-fatal ocorreu ao analisar gramaticalmente a corda da pergunta
xam.job.query:: insufficient_permissionO usuário atualmente autenticado não tem suficiente
permissão executar o trabalho da pergunta
xam.job.query:: insufficient_resourcesO sistema do armazenamento de XAM não tem os suficientes recursos para terminar o trabalho da pergunta

Quando um trabalho da pergunta é parado para o que razão, a saúde padrão do trabalho e campos de status, isto é .xam.job.errorhealth e .xam.job.status, está ajustada para apropriar valores e o sistema do armazenamento de XAM pode coloc XUIDs zero ou mais adicionais nos resultados XStream. Assim uma aplicação deve sempre considerar valores completos de XUID nos resultados XStream. Recomeçar um trabalho parado da pergunta não é suportado.

Anote que, ao contrário de um RDBMS tradicional, não há nenhum travamento de um sistema do armazenamento de XAM durante a execução de um trabalho da pergunta. Assim um resultado da pergunta não é um instantâneo instantâneo de um sistema do armazenamento de XAM. Os índices de um sistema do armazenamento de XAM podem ou não podem mudar quando um trabalho da pergunta for executado. A régua geral é que nenhum XSet que estiver armazenado antes que o começo do trabalho da pergunta esteja incluído nos resultados XStream se encontra os critérios da pergunta, e nenhum XSet que for armazenado depois que o trabalho da pergunta terminou não devem ser incluídos nos resultados XStream. XSets que é armazenado durante a execução de trabalho da pergunta pode ou não pode ser incluído. Os mesmos critérios aplicam-se aos resultados XStream. Pode incluir XUIDs de XSets que está já não no sistema do armazenamento de XAM e no XUIDs de XSets que já não encontra os critérios de busca devido a uma mudança no XSet depois que o detalhe XSet foi perguntado.

Está aqui uma aplicação de Java simples que pergunte um sistema do armazenamento de XAM para o determinar seja nível de sustentação para perguntas de XAM.

import org.snia.xam.XAMException;
import org.snia.xam.XAMLibrary;
import org.snia.xam.XSystem;
import org.snia.xam.toolkit.XAMXUID;
import org.snia.xam.util.XAMLibraryFactory;

public class CheckQuerySupport
{
    private static XAMLibrary xamLib;
    private static XSystem xSystem;

    public static void main(String[] args)
    {
        String xri = "snia-xam://centera_vim!XXX.XXXX.XXX.XXX?/home/fpm/xam/xamconnect.pea";

        long exitCode = 0;
        boolean isSupported = false;

        try
        {
            xamLib = XAMLibraryFactory.newXAMLibrary();
            System.out.println("Connecting to XSystem: " + xri + "\n");

            xSystem = xamLib.connect(xri);

            // support job commit?
            isSupported = xSystem.getBoolean(XSystem.XAM_XSYSTEM_JOB_COMMIT_SUPPORTED);
            System.out.println("Support job commit? " + (isSupported ? "Yes" : "No"));

            // support continuance of job?
            isSupported = xSystem.getBoolean(XSystem.XAM_XSYSTEM_JOB_QUERY_CONTINUANCE_SUPPORTED);
            System.out.println("Support job continuance? " + (isSupported ? "Yes" : "No"));

            // support level 1 query?
            isSupported = xSystem.getBoolean(XSystem.XAM_XSYSTEM_JOB_QUERY_LEVEL1_SUPPORTED);
            System.out.println("Support level 1 query? " + (isSupported ? "Yes" : "No"));

            // support level 2 query?
            isSupported = xSystem.getBoolean(XSystem.XAM_XSYSTEM_JOB_QUERY_LEVEL2_SUPPORTED);
            System.out.println("Support level 2 query? " + (isSupported ? "Yes" : "No"));

            xSystem.close();
            System.out.println("\nClosed connection to XSystem");

        } catch (XAMException xe) {
            exitCode = xe.getStatusCode();
            System.err.println("XAM Error occured: " + xe.getMessage());
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
            exitCode = 1;
        }

        System.exit((int) exitCode);
    }
}


Está aqui a saída desta aplicação quando conectada a um sistema do armazenamento da compatibilidade electrónica Centera XAM

Connecting to XSystem: snia-xam://centera_vim!XXX.XXX.XXX.XXX?/home/fpm/xam/xamconnect.pea

Support job commit? No
Support job continuance? No
Support level 1 query? Yes
Support level 2 query? No

Closed connection to XSystem


Está aqui uma aplicação de Java mais longa que execute três a amostra XSets e as perguntas da amostra que são discutidos na seção 10.8 do original da arquitetura V1.0 de XAM.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.snia.xam.XAMException;
import org.snia.xam.XAMLibrary;
import org.snia.xam.XSet;
import org.snia.xam.XStream;
import org.snia.xam.XSystem;
import org.snia.xam.XUID;
import org.snia.xam.toolkit.XAMXUID;
import org.snia.xam.util.XAMLibraryFactory;

public class QueryExample
{
    private static XAMLibrary xamLib;
    private static XSystem xSystem;

    private static void CreateXset(int parm1, String parm2, double parm3)
             throws XAMException
    {
        System.out.print("Create XSet 1 ....  ");

        XSet xSet = xSystem.createXSet(XSet.MODE_UNRESTRICTED);
        xSet.createProperty("com.example.rhc", false, true);
        xSet.createProperty("com,example.foo", false, parm1);
        xSet.createProperty("com.example.bar", false, parm2);
        xSet.createProperty("com.example.num", false, parm3);

        XUID xuID = xSet.commit();
        System.out.println("XUID: " + xuID.toString());

        xSet.close();
    }

   private static void CreateXset(int parm1, int parm2, int parm3)
             throws XAMException
    {
        System.out.print("Create XSet 2 ....  ");

        XSet xSet = xSystem.createXSet(XSet.MODE_UNRESTRICTED);
        xSet.createProperty("com.example.rhc", false, true);
        xSet.createProperty("com,example.foo", false, parm1);
        xSet.createProperty("com.example.bar", false, parm2);
        xSet.createProperty("com.example.num", false, parm3);

        XUID xuID = xSet.commit();
        System.out.println("XUID: " + xuID.toString());

        xSet.close();
    }

    private static void CreateXset(int parm1, int parm2)
             throws XAMException
    {
        System.out.print("Create XSet 3 ....  ");

        XSet xSet = xSystem.createXSet(XSet.MODE_UNRESTRICTED);
        xSet.createProperty("com.example.rhc", false, true);
        xSet.createProperty("com,example.foo", false, parm1);
        xSet.createProperty("com.example.num", false, parm2);

        XUID xuID = xSet.commit();
        System.out.println("XUID: " + xuID.toString());

        xSet.close();
    }

    private static void QueryXsystem(String queryString)
            throws XAMException
    {
        boolean finished = false;
        final int XAM_MAX_XUID = 80;
        int resultCount = 0;
        String status;

        System.out.println("Create query XSet. Query string: " + queryString);

        XSet query = xSystem.createXSet(XSet.MODE_UNRESTRICTED);
        query.createProperty(XSet.XAM_JOB_COMMAND, true, XSet.XAM_JOB_QUERY);

        byte[] buffer = queryString.getBytes();
        XStream queryStream = query.createXStream(XSet.XAM_JOB_QUERY_COMMAND, true, XAMLibrary.TEXT_PLAIN_MIME_TYPE);
        queryStream.write(buffer);
        queryStream.close();

        System.out.println("Submit query job ....");
        query.submitJob();

        System.out.println("Wait for query job to finish ....");

        while (!finished)
        {
            // check  status of query job
            status = query.getString(XSet.XAM_JOB_ERRORHEALTH);
            if (status.equals(XSet.XAM_JOB_ERRORHEALTH_ERROR))
            {
                System.out.println("ERROR: Errorhealth - " + query.getString(XSet.XAM_JOB_ERROR));
                query.haltJob();
                System.out.println("ERROR: Job halted");
                break;
            }

            status = query.getString(XSet.XAM_JOB_STATUS);
            resultCount = (int) query.getLong(XSet.XAM_JOB_QUERY_RESULTS_COUNT);

            // uncomment if you want continuous job status
            // System.out.println("Job Status: " + status + "  Result count: " + resultCount);

            // exit loop if job complete
            if (status.equals(XSet.XAM_JOB_STATUS_COMPLETE))
            {
                finished = true;
            }
       }

        System.out.println("Query job completed ....");
        System.out.println("Result set final count is: " + resultCount);

        if (resultCount > 0)
        {
             // open query job result stream
             XStream results = query.openXStream(XSet.XAM_JOB_QUERY_RESULTS, XStream.MODE_READ_ONLY);

             byte rawXUID[] = new byte[XAM_MAX_XUID];
             long bytesRead = 0;

             // output XUIDs in result set
             while( (bytesRead = results.read(rawXUID, XAM_MAX_XUID)) >= 0 )
             {
                 XAMXUID resultXUID = new XAMXUID(rawXUID);
                 System.out.println("XUID: " + resultXUID.toString());
             }

             results.close();
        }

        query.close();
    }

    public static void main(String[] args)
    {
        String xri = "snia-xam://centera_vim!XXX.XXX.XXX.XXX?/home/fpm/xam/xamconnect.pea";
        long exitCode = 0;

        try
        {
            xamLib = XAMLibraryFactory.newXAMLibrary();

            // uncomment next 2 lines if you want extensive XAM Library logging
            // xamLib.setProperty(XAMLibrary.XAM_LOG_VERBOSITY, 1);
            // xamLib.setProperty(XAMLibrary.XAM_LOG_LEVEL, 5);

            System.out.println("Connecting to XSystem " +  xri + "\n");

            xSystem = xamLib.connect(xri);
            xSystem.setProperty(".xsystem.log.verbosity", 1);
            xSystem.setProperty(".xsystem.log.level", 5);

            CreateXset(1, "string", 123.55);
            CreateXset(77, 42, 100);
            CreateXset(6, 200);

            xSystem.close();

            System.out.println("\nClose/reopen XSystem\n");

            xSystem = xamLib.connect(xri);

            // uncomment one or more of the following queries
            // QueryXsystem("select \".xset.xuid\"");
            QueryXsystem("select \".xset.xuid\" where (\"com.example.foo\" > 0) and (\"com.example.foo\" < 50)");
            // QueryXsystem("select \".xset.xuid\" where (\"com.example.bar\" > 0) and (\"com.example.bar\" < 100)");
            // QueryXsystem("select \".xset.xuid\" where exists (\"com.example.bar\")");
            // QueryXsystem("select \".xset.xuid\" where \"com.example.bar\" like '%ing%'");
            // QueryXsystem("select \".xset.xuid\" where \"com.example.num\" >= 124");
            // QueryXsystem("select \".xset.xuid\" where \"com.example.num\" >= 124.6 ");
            // QueryXsystem("select \".xset.xuid\" where (\"com.example.num\" >= 123) and typeof(\"com.example.num\") = 'application/vnd.snia.xam.int'");

            xSystem.close();
            System.out.println("\nClosed connection to XSystem");

        } catch (XAMException xe) {
            exitCode = xe.getStatusCode();
            System.err.println("XAM Error occured: " + xe.getMessage() + "("
                    + exitCode + ")");
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
            exitCode = -1;
        }

        System.exit((int) exitCode);
    }
}


Anote que os resultados XStream produzido por um trabalho da pergunta podem ser consumidos por uma aplicação antes que o sistema do armazenamento de XAM termine armazenar todo o XUIDs nos resultados XStream se XStream.asyncRead está usado em vez de XStream.read.

Bem eu penso que eu forneci bastante informação e exemplos para o permitir de ir jogo com a língua de pergunta de XAM por o senhor mesmo. Você precisa a ajuda mim é certa que o grupo do colaborador de XAM em grupos de Google será mais do que feliz o ajudar.

Na divisão eu indic que desde que os fornecedores do sistema do armazenamento de XAM são exigidos atualmente somente executar a sustentação para perguntas sobre os metadata satisfeitos, eu suspeito que a sustentação para as buscas completamente índice-baseadas reais que usam XAM não pode ocorrer por alguma hora.

Os comentários são fechados.