Saltar al contenido

Spring Batch: ejecutar varias instancias de un trabajo al mismo tiempo

Solución:

Sí tu puedes. Spring Batch distingue trabajos basados ​​en JobParameters. Por lo tanto, si siempre pasa diferentes JobParameters al mismo trabajo, tendrá varias instancias del mismo trabajo en ejecución. Una forma sencilla es simplemente agregar un parámetro UUID a cada solicitud para iniciar un trabajo. Ejemplo:

final JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
jobParametersBuilder.addString("instance_id", UUID.randomUUID().toString(), true);
jobLauncher.run(job,jobParametersBuilder.toJobParameters());

El booleano ‘verdadero’ al final le indica a Spring Batch que use ese parámetro como parte de la ‘identidad’ de la instancia del trabajo, por lo que siempre obtendrá nuevas instancias con cada ‘ejecución’ del trabajo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *