Spring Batch - Visão geral

Batch processingé um modo de processamento que envolve a execução de uma série de trabalhos complexos automatizados sem interação do usuário. Um processo em lote lida com dados em massa e é executado por um longo tempo.

Vários aplicativos corporativos exigem o processamento de dados enormes para realizar operações envolvendo -

  • Eventos baseados no tempo, como cálculos periódicos.

  • Aplicativos periódicos que são processados ​​repetidamente em grandes conjuntos de dados.

  • Aplicativos que tratam do processamento e validação dos dados disponíveis de forma transacional.

Portanto, o processamento em lote é usado em aplicativos corporativos para realizar tais transações.

O que é Spring Batch

Lote de primavera é um lightweight framework que é usado para desenvolver Batch Applications que são usados ​​em aplicativos corporativos.

Além do processamento em massa, esta estrutura fornece funções para -

  • Incluindo registro e rastreamento
  • Gestão de transações
  • Estatísticas de processamento de trabalho
  • Reinício de trabalho
  • Pular e gerenciamento de recursos

Você também pode dimensionar aplicações de lote de molas usando suas técnicas de porcionamento.

Características do Spring Batch

A seguir estão os recursos notáveis ​​do Spring Batch -

  • Flexibility- Os aplicativos Spring Batch são flexíveis. Você simplesmente precisa alterar um arquivo XML para alterar a ordem de processamento em um aplicativo.

  • Maintainability- Os aplicativos Spring Batch são fáceis de manter. Um trabalho Spring Batch inclui etapas e cada etapa pode ser desacoplada, testada e atualizada, sem afetar as outras etapas.

  • Scalability- Usando as técnicas de porcionamento, você pode dimensionar os aplicativos Spring Batch. Essas técnicas permitem que você -

    • Execute as etapas de um trabalho em paralelo.

    • Execute um único thread em paralelo.

  • Reliability - Em caso de alguma falha, você pode reiniciar o trabalho exatamente de onde foi interrompido, desacoplando as etapas.

  • Support for multiple file formats - Spring Batch fornece suporte para um grande conjunto de leitores e gravadores, como XML, arquivo simples, CSV, MYSQL, Hibernate, JDBC, Mongo, Neo4j, etc.

  • Multiple ways to launch a job - Você pode iniciar um trabalho Spring Batch usando aplicativos da web, programas Java, linha de comando, etc.

Além disso, os aplicativos Spring Batch suportam -

  • Nova tentativa automática após falha.

  • Acompanhamento de status e estatísticas durante a execução em lote e após a conclusão do processamento em lote.

  • Para executar trabalhos simultâneos.

  • Serviços como registro, gerenciamento de recursos, ignorar e reiniciar o processamento.