Elementos xJCL

Tarefas são expressadas usando um dialeto Linguagem de Marcação Extensível (XML) chamado xJCL (Linguagem de Controle de Tarefas XML). Esse dialeto possui construções para expressar todas as informações necessárias para tarefas de cálculo intenso e em lote, embora alguns elementos do xJCL sejam aplicáveis apenas a tarefas de cálculo intenso e em lote. Consulte o xJCL fornecido com os aplicativos de amostra, a tabela xJCL e o documento do esquema xJCL XSD para obter informações adicionais sobre o xJCL. A definição de xJCL de uma tarefa não faz parte do aplicativo em lote, mas é construída separadamente e enviada para o planejador de tarefa para execução. O planejador de tarefa usa informações no xJCL para determinar onde e quando executar a tarefa.

Elementos xJCL

A tabela a seguir resume os elementos xJCL.

Tabela 1. Elementos xJCL. A tabela inclui elementos xJCL, se cada elemento xJCL se aplicar às tarefas de processamento intensivo de informações ou tarefas em lote do Java™ Platform, Enterprise Edition (Java EE) e aos sub-elementos, atributos e descrições para cada elemento xJCL.
Elemento Java EE de processamento intensivo de informações Java EE em Lote Subelemento Atributos Description
tarefa sim sim     Define o escopo da descrição de uma tarefa do batch.
tarefa sim sim   name Nome da tarefa. Este nome deve corresponder ao nome do aplicativo em lote a menos que default-application-name esteja especificado.
tarefa sim sim   accounting Atributo de informações adicionais de contabilidade.
tarefa sim sim   class Atributo opcional da classe de tarefa, que identifica a classe de tarefa sob a qual a tarefa será executada.
tarefa sim sim   default-application-name O nome do aplicativo a ser utilizado quando nenhum atributo application-name de etapa da tarefa for localizado.

O nome do aplicativo a ser usado. Para aplicativos em lote OSGi, formate o nome como osgi:<nome eba>:<versão>.

tarefa sim sim jndi-name   O nome JNDI que é dado ao bean da sessão stateless do controlador de tarefas quando o aplicativo em lote é implementado no produto.
tarefa sim sim critérios de job-scheduling required-capability O required-capability da tarefa, que deve ser definido em um terminal para a tarefa a ser despachada para esse terminal.
tarefa sim sim critérios de step-scheduling Consulte o elemento step-scheduling-criteria  
tarefa não sim checkpoint-algorithm Consulte o elemento checkpoint-algorithm  
tarefa não sim results-algorithm Consulte o elemento results-algorithms  
tarefa sim sim substitution-props++ Consulte o elemento prop O required-capability da tarefa, que deve ser definido em um terminal para a tarefa a ser despachada para esse terminal
job-step sim* sim   name Nome opcional da etapa. Essas informações são retornadas nos comandos operacionais.
job-step sim* sim   application-name Nome opcional do aplicativo executado pela etapa. O nome do atributo é utilizado se application-name for omitido e o atributo no nível da tarefa default-application-name for omitido.
job-step não sim step-scheduling Consulte o elemento step-scheduling Permite a lógica condicional com base nos códigos de retorno de etapas que determina se a etapa de lote é chamada.
job-step sim sim nome de classe   Nome completo da classe que implementa a tarefa de computação intensiva.
job-step sim não checkpoint-algorithm-ref   Especifica o algoritmo de ponto de verificação a ser utilizado para a etapa da tarefa do batch.
job-step não sim results-ref Consulte o elemento results-ref Especifica o algoritmo de resultados a ser utilizado para a execução da etapa da tarefa do lote.
job-step não sim batch-data-streams Consulte o elemento batch-data-streams Uma sequência de elementos bds. Cada bds contém as informações de configuração necessárias para criar um fluxo de dados de batch.
job-step sim sim props Consulte o elemento props Propriedades Name-value a serem transmitidas para a etapa.
job-step não não exec Consulte o elemento exec Identifica a executável associada à etapa da tarefa.
job-step não não env-entries Consulte o elemento env-entries Identifica as propriedades ambientais associadas à etapa da tarefa.
prop sim sim     Uma única instância de um par nome-valor que serve como uma propriedade.
prop sim sim   name Nome da propriedade.
prop sim sim   Value Valor da propriedade.
props sim sim prop Consulte o elemento prop  
env-entries não não     Série de elementos de propriedades que são usados para passar propriedades de pares nome-valor para etapas, bds, algoritmos de ponto de verificação e algoritmos de resultados.
env-entries não não env-var Consulte o elemento env-var  
exec não não     Série de elementos de propriedades que são usados para passar propriedades de pares nome-valor para etapas, bds, algoritmos de ponto de verificação e algoritmos de resultados.
exec não não   executable O nome da executável associada à etapa da tarefa.
exec não não arg Consulte o elemento line  
line não não     Argumentos da linha de comandos passados para o executável da etapa da tarefa.
bds não sim     Única instância de uma implementação do fluxo de dados em lote disponibilizada para a tarefa em lote.
bds não sim logical-name   Uma cadeia incorporada na etapa de lote e utilizada por ela para solicitar do ambiente de tempo de execução em lote uma instância do fluxo de dados em lote específica.
bds não sim impl-class   Nome completo da classe da classe de implementação do fluxo de dados em lote.
bds não sim props Consulte os elementos props Lista de propriedades transmitidas para a classe de implementação do fluxo de dados em lote.
batch-data-streams não sim     Série de elementos bds
batch-data-streams não sim bds Consulte o elemento bds  
step-scheduling não sim     Aplica-se a etapas de tarefas para criar fluxos condicionais baseados em código de retorno de uma tarefa em lote. Compara valores de códigos de retorno definidos para essa tarefa em lote para decidir se uma etapa será chamada ou não durante o processamento de uma tarefa em lote. Os valores dos códigos de retorno são comparados utilizando o elemento returncode-expression.
step-scheduling não sim returncode- expression consulte returncode-expression Returncode- expression a ser avaliado.
step-scheduling não sim   condição Se houver mais de um elemento returncode-expression no elemento step-scheduling, os operadores condicionais serão aplicados a eles. Os operadores condicionais suportados são: AND, OR.
returncode-expression não sim     Usado em tags de planejamento de etapas para decidir se uma etapa de tarefa em lote será executada com base em códigos de retorno de outras etapas da tarefa.
returncode-expression não sim   step Nome da etapa cujo código de retorno será comparado nesta expressão.
returncode-expression não sim   operador Operador a ser usado para a expressão do código de retorno. Os operadores suportados são eq para igual, lt para menor que, gt para maior que, le para menor ou igual a, e ge para maior ou igual a.
returncode-expression não sim   Value O valor com o qual comparar o código de retorno.
step-scheduling-criteria não sim     Descreve a sequência na qual as etapas da tarefa serão processadas. Atualmente, o planejamento sequencial é suportado; por exemplo, as etapas são chamadas na ordem em que existem no xJCL.
step-scheduling-criteria não sim scheduling-mode   Sequência na qual chamar as etapas, o único valor possível no momento é sequential.
checkpoint-algorithm não sim     Declara um algoritmo de ponto de verificação que pode ser utilizado para uma etapa de tarefa do batch.
checkpoint-algorithm não sim   name Nome do algoritmo.
checkpoint-algorithm não sim nome de classe   Classe que implementa este algoritmo.
checkpoint-algorithm não sim props Consulte o elemento props Sequência de elementos prop para o algoritmo de ponto de verificação.
checkpoint-algorithm-ref não sim     Referência a um elemento de algoritmo de ponto de verificação.
checkpoint-algorithm-ref não sim   name Nome do algoritmo de ponto de verificação que está sendo referenciado.
checkpoint-algorithm-ref não sim props Consulte o elemento props. Sequência de elementos prop para o algoritmo de ponto de verificação.

++ O elemento xJCL substitution-props é discutido na seção seguinte.

substitution-props do xJCL

O xJCL da tarefa pode conter variáveis simbólicas. Uma variável simbólica é uma expressão com o formato ${variable-name}, localizada fora de um comentário em um documento bem formado. Por exemplo:
<checkpoint-algorithm-ref name="${checkpoint}" />
O elemento do xJCL, substitution-props, define um par padrão de nome e valor para variáveis simbólicas. A seguir está um exemplo do elemento substitution-props, obtido do documento postingSampleXJCL.xml:
<substitution-props>
<prop name="wsbatch.count" value="5" /> 
<prop name="checkpoint" value="timebased" />
<prop name="checkpointInterval" value="15" />
<prop name="postingsDataStream" value="${was.install.root}${file.separator}temp${file.separator}postings" />
</substitution-props>

A substituição de variáveis simbólicas ocorre no tempo de execução. No tempo de execução, a cadeia ${variable-name} é substituída pelo valor da propriedade quando o xJCL é enviado para execução. Usando as propriedades no exemplo anterior, a sequência ${checkpoint} é substituída pela sequência time-based antes da tarefa ser enviada.

Variáveis simbólicas podem ser indiretas. Por exemplo: name=FILENAME value=${${filename}} utilizado com o par nome/valor filename=postingsDataStream utiliza o mesmo resultado de especificar name=FILENAME value=${postingsDataStream}.

Variáveis simbólicas também podem ser compostas. Por exemplo, name=postingsDataStream value=${was.install.root}${file.separator}temp${file.separator}postings.

Os pares nome/valor não devem ser definidos no elemento substitution-props do documento de tarefas. Os pares nome/valor props definidos no elemento substitution-props são valores padrão para as variáveis denominadas. Se não forem definidos no elemento substitution-props, os pares nome/valor devem ser transmitidos nas APIs do planejador de tarefas quando a tarefa for enviada ou definidas nas propriedades de sistema para a JVM. Cada variável simbólica definida no corpo de um documento de tarefas deve ser resolvido para que o xJCL seja considerado válido. Cada par nome/valor definido no documento de tarefas deve ser resolvido para uma variável simbólica localizada no corpo do xJCL para que o xJCL seja considerado válido.

Se os pares nome/valor forem definidos no documento do xJCL e transmitidos para as APIs do planejador de tarefas no momento do envio da tarefa, os pares nome/valor transmitidos nas APIs do Planejador de Tarefas irão sobrepor os valores padrão definidos no documento do xJCL. Se pares nome/valor não forem transmitidos nas APIs do planejador de tarefas nem definidos como padrões no documento do xJCL, os pares nome/valor para as variáveis simbólicas devem ser definidos nas propriedades da JVM do sistema para que o xJCL seja considerado válido.

As variáveis simbólicas são resolvidas pelo planejador de tarefas antes do envio da tarefa, exceto as seguintes variáveis especiais, que são resolvidas no grid endpoint. Todas as variáveis especiais a seguir devem ser definidas como propriedades de sistema da JVM. Eles são:
  • ${was.install.root}
  • ${user.install.root}
  • ${agent.home}

Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cgrid_xdbatchjcl
Nome do arquivo: cgrid_xdbatchjcl.html