Desenvolvendo um aplicativo de gerenciamento de tarefa paralela

É possível construir um aplicativo em lote transacional como uma tarefa e dividir a tarefa em tarefas subordinadas de forma que as tarefas subordinadas possam ser executadas de maneira independente e em paralelo. Você usa o gerenciador de tarefas paralelas para enviar e gerenciar as tarefas em lote transacionais.

Antes de Iniciar

Para Usuários de Transição Para Usuários de Transição: Aplicativos de gerenciamento de tarefas paralelas construídos para versões anteriores do WebSphere Batch podem executar como em um WebSphere Application Server Versão 8.5. Entretanto, siga o mesmo procedimento de ter dois arquivos xJCl, um arquivo xd.spi.properties e uma biblioteca compartilhada configurada para duas implementações SPI. Ao usar o aplicativo no estado em que se encontra, não execute as etapas do procedimento a seguir.trns
Para Usuários de Transição Para Usuários de Transição: É possível migrar aplicativos de gerenciamento de tarefas paralelas para o WebSphere Application Server Versão 8.5. Inclua as classes de implementação da API no aplicativo EAR. Recrie o xJCL conforme descrito no procedimento a seguir.trns

Sobre Esta Tarefa

As tarefas subordinadas são desenvolvidas para sua tarefa para que as tarefas subordinadas possam ser executadas de maneira independente e em paralelo. Primeiro desenvolva os critérios que dividem as tarefas em tarefas subordinadas. Em seguida, construa um aplicativo em lote simples e torne as partes do aplicativo paralelas. Finalmente, crie o xJCl para as tarefas subordinadas para que em um outro procedimento você possa implementar o aplicativo após outro procedimento.

Procedimento

  1. Desenvolva os critérios que dividem as tarefas em tarefas subordinadas.

    Por exemplo, divida as tarefas em tarefas subordinadas baseadas nas filiais do banco, com a tarefa subordinada para cada filial baseada no local da filial. Para uma determinada filial do banco, faça com que a tarefa subordinada calcule o saldo de cada conta no final do dia com base nas transações diárias para cada conta.

  2. Construa um aplicativo em lote simples para processar as informações como uma tarefa.
  3. Torne as partes do aplicativo paralelas.

    Implemente a API do parâmetro para dividir a tarefa para o aplicativo em lote em diversas tarefas subordinadas.

  4. Opcional: Colete informações sobre uma tarefa subordinada que esteja em execução.

    Use a API SubJobCollector para coletar as informações.

  5. Opcional: Analise as informações coletadas sobre a tarefa subordinada.

    Use a API SubJobAnalyzer para analisar as informações.

  6. Crie o xJCL.

    Inicie com o xJCL a partir da tarefa que você criou para o aplicativo em lote simples.

    1. Especifique o elemento de execução como um filho do elemento da tarefa.
      1. Configure o atributo de instâncias no elemento de execução como multiple.
      2. Configure o atributo da Java™ Virtual Machine (JVM) no elemento de execução como single ou multiple.

        Use o atributo single para executar todas as tarefas subordinadas no mesmo JVM. Use o atributo multiple para executar as tarefas subordinadas em qualquer JVM válido.

      <run instances="multiple" jvm="multiple">

      É possível especificar o elemento de execução como um filho de uma etapa. Nesta situação, a etapa é executada como uma tarefa paralela. O conteúdo da etapa do xJCL é usado para gerar uma tarefa subordinada da etapa xJCL.

    2. Especifique um elemento prop como um filho do elemento de execução para cada API PJM.
      1. Especifique a API PJM no atributo de nome.
        As APIs a seguir são válidas para o PJM:
        • com.ibm.websphere.batch.parallel.parameterizer
        • com.ibm.websphere.batch.parallel.synchronization
        • com.ibm.websphere.batch.parallel.subjobanalyzer
        • com.ibm.websphere.batch.parallel.subjobcollector
      2. Configure o atributo de valor com um nome para a API.
    3. Inclua um elemento prop para especificar o nome da tarefa subordinada.
      1. Configure o atributo de nome como com.ibm.wsspi.batch.parallel.subjob.name.
      2. Configure o atributo de valor com o nome da tarefa.
    4. Opcional: Inclua um elemento prop para indicar a contagem de tarefas.
      1. Configure o atributo de nome como parallel.jobcount.
      2. Configure o atributo de valor com um valor para a contagem de tarefas.
    5. Especifique quaisquer outras propriedades no nível da tarefa.
    <run instances="multiple" jvm="multiple">
        <props>
            <prop name="com.ibm.websphere.batch.parallel.parameterizer" 
             value="com.ibm.websphere.samples.spi.MailerParameterizer"/>
            <prop name="com.ibm.websphere.batch.parallel.synchronization" 
             value="com.ibm.websphere.samples.spi.MailerTXSynchronization"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobanalyzer" 
             value="com.ibm.websphere.samples.spi.MailerSubJobAnalyzer"/>
            <prop name="com.ibm.websphere.batch.parallel.subjobcollector" 
             value="com.ibm.websphere.samples.spi.MailerSubJobCollector"/>
            
            <prop name="com.ibm.wsspi.batch.parallel.subjob.name" 
             value="MailerSampleSubJob" />
    			
            <!-- The count of parallel sub jobs to be submitted -->
            <prop name="parallel.jobcount" value="3" />
    
        </props>
      </run>
  7. Inclua as mesmas três propriedades no nível da etapa em cada etapa no xJCL.
    <prop name="com.ibm.wsspi.batch.parallel.jobname" value="${parallel.jobname}" />
    <prop name="com.ibm.wsspi.batch.parallel.logicalTXID" value="${logicalTXID}" />
    <prop name="com.ibm.wsspi.batch.parallel.jobmanager" value="${parallel.jobmanager}" />

Resultados

Você criou uma tarefa com tarefas subordinadas que podem ser executadas de forma independente e em paralelo.

O que Fazer Depois

Implemente o aplicativo como implementaria outros aplicativos em lote.

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



Í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=tgrid_cgpjmdevelop
Nome do arquivo: tgrid_cgpjmdevelop.html