Os algoritmos de resultados são um recurso opcional do modelo de programação de batch.
Um algoritmo de resultados permite que dois tipos de ações ocorram ao final de uma etapa de batch:
Os algoritmos de resultados são aplicados a uma tarefa do batch através do xJCL. Eles são declarados no xJCL e, em seguida, aplicados às etapas de batch. Observe que vários algoritmos de resultados podem ser aplicados a uma etapa de batch.
Ao final de uma etapa de batch, o LREE (Long-running Execution Environment) verifica o xJCL da tarefa do batch para ver quais algoritmos de resultados chamar. Para cada algoritmo de resultados especificado, o LREE transmite ao algoritmo o código de retorno da etapa de batch - o inteiro retornado pelo método destroyJobStep da etapa - e o código de retorno atual da tarefa do batch no banco de dados LREE. O algoritmo de resultados pode executar qualquer ação com base nos códigos de retorno transmitidos. O algoritmo, então, transmite o código de retorno para a tarefa de batch de volta ao LREE que é persistido para o banco de dados LREE como o código de retorno atual da tarefa do batch. Esse código de retorno pode ser o mesmo daquele que o LREE transmitiu ao algoritmo de resultados no primeiro local ou pode ser diferente dependendo da lógica codificada no algoritmo de resultados.
Um algoritmo de resultados SPI também é fornecido permitindo que os clientes gravem seus próprios algoritmos e os apliquem às tarefas de batch. Consulte a API para essa SPI (Service Provider Interface).
O código fonte do algoritmo jobsum é fornecido no WebSphere Extended Deployment Infocenter.
Exemplo de aplicação de algoritmo de resultados de jobsum para etapas
<job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi..resultsalgorithms.jobsum</classname> </results-algorithm> </results-algorithms> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="jobsum"> </job-step>
Exemplo de Aplicação de Vários Algoritmos nas Etapas de uma Tarefa:
</job> <job name="PostingSampleEar"> <results-algorithms> <results-algorithm name="jobsum"> <classname>com.ibm.wsspi..resultsalgorithms.jobsum</classname> </results algorithm> <results-algorithm name="custom_algorithm"> <classname>my_custom_algorithm</classname> </results-algorithm> </results-algoriths> <job-step name="Step1"> <results-ref name="jobsum"> </job-step> <job-step name="Step2"> <results-ref name="custom_algorithm"> <results-ref name="jobsum"> </job-step> </job>
Related concepts
O Modelo
de Programação em Batch