Esta demo consta de dos steps, el primero “guardarIndice” donde se obtienen los registros de la tabla PLANETA, se convierte cada uno en un objeto planeta y por ultimo se crea el índice lucene que contendrá la información de los objetos. El segundo “leerIndice” realiza una búsqueda en el índice e imprime el resultado por pantalla.
Las clases
Las clases destacadas para esta demo son:
- Planeta, que representa cada una de las filas resultantes del Query y contiene las anotaciones de compass que nos permiten persistir y consultar la misma en los índices lucene.
- CompassItemWriter, que contiene el método que persiste cada objeto planeta en el índice lucene.
- IndiceItemReader, que contiene el método que realiza las consultas en los índices aplicando paginación.
La configuración
En el archivo de configuración spring-batch-demo.xml se encuentra toda la configuración necesaria para Spring Batch. Beans importantes declarados en este archivo:
- planetaItemReader, donde definimos el Query y el mapeo de la clase Planeta.
- Compass, es la factory de compass que nos permitirá trabajar con los índices.
- planetaItemWriter y indiceItemReader, ambos están creados con clases que extienden de CompassDaoSupport y es por esto que se les injecta la factory de compass.