Demo #8: procesamiento de datos

La demo del paquete demo8 contiene un ejemplo para realizar procesamiento de datos. A veces es necesario manipular los datos luego de ser leídos y antes de escribirlos en el destino. Para esto se utiliza la interfaz ItemProcessor, que recibe un objeto leído y devuelve un objeto procesado.
El ItemProcessor se agrega como atributo de un Step (paso).

Las clases

Para esto deberemos desarrollar dos clases:

  • Planeta, que representa cada una de las filas resultantes del query.
  • PlanetaItemReader, que se encargará leer planetas de la tabla en una base de datos, devolviendo un objeto Planeta por cada fila.
  • PlanetaProcessor, que recibe un Planeta (leído por el PlanetaItemReader) y lo procesa, pasándo a mayúsculas sus atributos.
  • PlanetaItemWriter, que recibe un Planeta procesado (por el PlanetaProcessor) y lo muestra por consola.

La configuración

En el archivo de configuración spring-batch-demo.xml se ecuentra toda la configuración necesaria para Spring Batch. Los beans importantes declarados en este archivo:

  • pasarAMayusculas, es el PlanetaProcessor que se encarga de recibir un Planeta, procesos sus atributos (pasarlos a mayúsculas) y devolver este Planeta procesado.
  • imprimirPorConsola, que es el Step que se encarga de leer los planetas (itemReader), procesarlos (itemProcessor) y escribirlos por consola (itemWriter).