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).