Spring Batch: Como monitorar os trabalhos atualmente em execução e mostrar o progresso na página jsp

Eu quero saber como monitorar o status de meus trabalhos em lotes atualmente em execução. Meus trabalhos são basicamente processamento pasta com algumas etapas padrão, então eu quero mostrar o progresso para o usuário passo a passo. Estou usando o repository de tarefas de trabalho e DB. exemplo de código para alcançar isso será mais útil.
Obrigado.

Se você quiser desenvolver seu próprio aplicativo de monitor / página da Web, talvez queira examinar a interface JobOperator ou JobOperator . Ele fornece methods para obter as JobExecutions e, em JobExecutions, você pode obter StepExecutions. Todos estes dão-lhe o status do trabalho e passos individuais dentro.


Edite para responder pelo comentário:

Para as informações de progresso citadas, não é algo armazenado no Spring Batch. No entanto, as duas interfaces ajudam você nisso. Primeiro Armazene as informações de progresso no contexto da execução da etapa. Em seguida, verifique se sua tarefa não está implementada como uma tarefa síncrona. Você tem que retornar CONTINUABLE (perdoe-me se eu misturei o termo, já faz algum tempo que usei o Spring Batch anteriormente), para que sua tarefa seja invocada pelo lote Spring consecutivamente. (Isso pode ser feito de várias maneiras, ou você divide seu trabalho em peça e para cada chamada de tasklet execute (), você trabalha em apenas uma parte deles e retorna FINISHED somente quando todas as partes estiverem concluídas, ou você pode gerar outra thread para fazer o trabalho e sua tarefa simplesmente monitore o progresso, etc.).

Ao fazer isso, você terá um contexto de execução de etapas continuamente atualizado com suas informações de progresso, para poder usar JobExplorer e JobOperator para obter o contexto de Execução da Tarefa -> Execução da Etapa -> Execução da Etapa para fins de relatório de progresso.

Você deve dar uma olhada no aplicativo de administração do lote de primavera.

Administrador de lotes da primavera

Para citar diretamente: É um arquivo de guerra regular. Depois de implantado, você pode navegar com um navegador da Web (por exemplo, localhost: 8080 / spring-batch-admin-sample) e verificar os resources para iniciar tarefas e inspecionar execuções de tarefas.

Certamente, através de algumas modificações, você pode conseguir sua própria exigência.

Intereting Posts