Spring Batch: cómo evitar que el lote almacene transacciones en DB

Primero la declaración del problema: estoy usando Spring-Batch en mi entorno DEV bien. Cuando muevo el código a un entorno de producción, me encuentro con un problema. En mi entorno DEV, Spring-Batch puede crear sus tablas de datos de transacciones en nuestro servidor de bases de datos DB2 sin problemas. Esta no es una opción cuando vamos a PROD ya que este es un trabajo de solo lectura.

Intento de solución:

Buscar desbordamiento de pila Encontré esta publicación:¿Spring-Batch sin metadatos persistentes en la base de datos?

Lo cual sonaba perfecto, así que agregué

@Bean
public ResourcelessTransactionManager transactionManager() {
    return new ResourcelessTransactionManager();
}

@Bean
public JobRepository jobRepository(ResourcelessTransactionManager transactionManager) throws Exception {
    MapJobRepositoryFactoryBean mapJobRepositoryFactoryBean = new MapJobRepositoryFactoryBean(transactionManager);
    mapJobRepositoryFactoryBean.setTransactionManager(transactionManager);

    return mapJobRepositoryFactoryBean.getObject();
}

También lo agregué a mi trabajo llamando a .reporitory (jobRepository).

Pero consigo

Caused by: java.lang.NullPointerException: null
    at       org.springframework.batch.core.repository.dao.MapJobExecutionDao.synchronizeStatus(MapJobExecutionDao.java:158) ~[spring-batch-core-3.0.6.RELEASE.jar:3.0.6.RELEASE]

Así que no estoy seguro de qué hacer aquí. Soy nuevo en Spring, así que me estoy enseñando sobre la marcha. Estoy abierto a otras soluciones, como una base de datos en memoria, pero tampoco he podido hacer que funcionen. NO necesito guardar ninguna información de estado o sesión entre ejecuciones, pero la consulta de la base de datos que estoy ejecutando devolverá alrededor de un millón de filas, por lo que tendré que ponerla en fragmentos.

Cualquier sugerencia o ayuda sería muy apreciada.

Respuestas a la pregunta(4)

Su respuesta a la pregunta