two tutorial steps example chunk batch spring spring-batch

steps - tutorial spring batch step by step



Diferencia entre Step, Tasklet y Chunk en Spring Batch (1)

Soy muy nuevo en Spring Batch. ¿Alguien puede ayudarme a explicar la diferencia entre Step, Tasklet y Chunk en el lote de primavera? También tengo una duda más sobre si queremos ejecutar algunos pasos en paralelo, ¿cuál es la salida en el lote de primavera?


Bueno, esa es realmente una buena pregunta. Aquí hay un ejemplo de configuración:

<job id="sampleJob" job-repository="jobRepository"> <step id="step1" next="step2"> <tasklet transaction-manager="transactionManager"> <chunk reader="itemReader" writer="itemWriter" commit-interval="10"/> </tasklet> </step> <step id="step2"> <tasklet ref="myTasklet"/> </step> </job>

Tienes un trabajo, este trabajo está hecho de pasos. La mayoría de las veces, estos pasos son sucesivos. Defina en qué orden debe realizarse su trabajo con los pasos: realice el paso 1, luego el paso 2, luego el paso 3, puede hacer el paso 4 si el paso 3 falló, o ir directamente al paso 5, etc.

Lo que se hace en el Paso está representado por un tasklet, ellos hacen la tarea.

En el lote de primavera, la mayoría de las veces harás procesamiento orientado a trozos: con un lector, un procesador y un escritor. De la documentación oficial:

El procesamiento orientado a Chunk se refiere a la lectura de los datos de uno en uno y a la creación de "Chunks" que se escribirán dentro de un límite de transacción.

Pero puede crear su propio tasklet y configurarlo en su paso. Por ejemplo, un tasklet que ejecuta una consulta SQL. (Ejemplo aquí: Tasklet para eliminar una tabla en lote de primavera )

Por lo tanto, los pasos se ordenan en un trabajo, cada paso contiene un tasklet, que realiza una tarea. Uno de esos tasklet (y probablemente el más usado) es el tasklet de procesamiento orientado a fragmentos.

Si tienes curiosidad, aquí está el documento de ChunkOrientedTasklet . Como puedes ver, implementa la interfaz Tasklet .

Para obtener más información: http://docs.spring.io/spring-batch/reference/html/configureStep.html

Y sí, el lote de primavera está bien hecho para el procesamiento paralelo, utilizando flujos: http://docs.spring.io/spring-batch/reference/html/scalability.html