Demo #5: integración con Compass y Lucene

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.