Tabla de datos de lotes de Spring Batch

Tabla de contenido

introducción

descripción general

tabla batch_job_instance

tabla de ejecución de trabajos por lotes

lote_trabajo_ejecución_contexto

batch_job_execution_params

btch_step_execution表

batch_step_execution_context

Base de datos en memoria H2

Pasar a la versión de video


introducción

Junto al artículo anterior: Spring Batch step object-return status-ExitStatus , después de comprender la clase de estado ExitStatus del estado de devolución, aprendamos sobre la tabla de datos básicos del procesamiento por lotes de Spring Batch

descripción general

En la fase de aprendizaje, el almacenamiento de datos de Spring Batch se puede almacenar de dos maneras, 1: base de datos de memoria H2 2: base de datos relacional. La opción 1 es fácil de decir, básicamente no necesitamos hacer demasiada intervención, y la opción 2 es la misma, pero podemos usar la herramienta de visualización de base de datos para ver la tabla de datos para ayudarnos a comprender mejor el proceso de ejecución o el principio de lote de primavera

Cuando elegimos el método de base de datos para almacenar datos por lotes, Spring Batch creará automáticamente 9 tablas al inicio, almacenándolas respectivamente: JobExecution, JobContext, JobParameters, JobInstance, secuencia de identificación de ejecución de trabajo, secuencia de identificación de trabajo, StepExecution, StepContext/ChunkContext, secuencia de identificación de ejecución de paso y otros objetos. Spring Batch proporciona el componente JobRepository para implementar operaciones CRUD en estas tablas, y estas operaciones están básicamente encapsuladas en pasos, bloques y operaciones de api de trabajo, que no requieren que intervengamos demasiado, así que solo comprenda el contenido de este capítulo.

tabla batch_job_instance

 Cuando el trabajo se ejecuta por primera vez, se generará un objeto JobInstance único de acuerdo con el nombre del trabajo y los parámetros de identificación, y la tabla batch_job_instance registrará un mensaje que representa la instancia del trabajo.

campo describir
JOB_INSTANCE_ID Clave principal de instancia de trabajo
VERSIÓN El número de versión controlado por el bloqueo optimista
NOMBRE DEL TRABAJO nombre del trabajo
TRABAJO_CLAVE El valor hash del nombre del trabajo y los parámetros de identificación pueden identificar de forma única una instancia de trabajo

tabla de ejecución de trabajos por lotes

Cada vez que se inicia un trabajo, se crea un objeto JobExecution, que representa la ejecución de un trabajo, y el registro del objeto se almacena en la tabla batch_job_execution.

campo describir
JOB_EXECUTION_ID clave principal del objeto de ejecución del trabajo
VERSIÓN El número de versión controlado por el bloqueo optimista
JOB_INSTANCE_ID JobInstanceId (a la que pertenece JobInstance)
CREAR_HORA hora de creación del registro
HORA DE INICIO Hora de inicio de la ejecución del trabajo
HORA DE FINALIZACIÓN Hora de finalización de la ejecución del trabajo
ESTADO Estado por lotes de la ejecución del trabajo
EXIT_CODE El código de salida de la ejecución del trabajo.
SALIR_MENSAJE Mensaje de salida para la ejecución del trabajo
ÚLTIMA ACTUALIZACIÓN La hora en que se actualizó el registro por última vez

lote_trabajo_ejecución_contexto

batch_job_execution_context se utiliza para guardar los datos del objeto ExecutionContext correspondientes a JobContext.

campo describir
JOB_EXECUTION_ID clave principal del objeto de ejecución del trabajo
CORTO_CONTEXTO Versión reducida de la cadena ExecutionContext después de la serialización
SERIALIZADO_CONTEXTO Cadena ExecutionContext después de la serialización

batch_job_execution_params

Cuando se inicie el trabajo, use la ubicación donde se guardan los parámetros de identificación: batch_job_execution_params, un parámetro y un registro

 

campo describir
JOB_EXECUTION_ID clave principal del objeto de ejecución del trabajo
TIPO_CODIGO tipo de parámetro de etiqueta
NOMBRE CLAVE nombre del parámetro
VALOR DE CADENA Hay un valor cuando el tipo de parámetro es String
FECHA_VALOR Hay un valor cuando el tipo de parámetro es Fecha
LARGO_VALOR Hay un valor cuando el tipo de parámetro es LARGO
DOBLE_VALOR Hay un valor cuando el tipo de parámetro es DOUBLE
IDENTIFICANDO Se utiliza para marcar si el parámetro es un parámetro de identificación

btch_step_execution表

El trabajo comienza, los pasos se ejecutan y la información de ejecución de cada paso se guarda en la tabla tch_step_execution

 

campo describir
PASO_EXECUCIÓN_ID ID de objeto de ejecución de paso
VERSIÓN Número de versión de control de bloqueo optimista
PASO_NOMBRE nombre del paso
JOB_EXECUTION_ID ID de objeto de ejecución de trabajo
HORA DE INICIO La hora de inicio de la ejecución del paso.
HORA DE FINALIZACIÓN La hora de finalización de la ejecución del paso.
ESTADO Paso Estado del lote
COMMIT_COUNT Número de transacciones comprometidas en la ejecución del paso
LEER_COUNT Número de entradas leídas
FILTER_COUNT El número de entradas filtradas porque ItemProcessor devolvió un valor nulo
WRITE_COUNT Número de entradas escritas
READ_SKIP_COUNT El número de elementos omitidos debido a una excepción lanzada en el ItemReader
PROCESS_SKIP_COUNT El número de elementos omitidos debido a una excepción lanzada en el ItemProcessor
WRITE_SKIP_COUNT El número de entradas omitidas debido a una excepción lanzada en ItemWriter
ROLLBACK_COUNT Número de transacciones revertidas durante la ejecución del paso
EXIT_CODE el código de salida del paso
EXT_MESSAGE Información devuelta por la ejecución del paso
ÚLTIMA ACTUALIZACIÓN Último tiempo récord actualizado

batch_step_execution_context

La tabla de datos guardada por ExecutionContext correspondiente al objeto StepContext: batch_step_execution_context

campo describir
PASO_EXECUCIÓN_ID ID de objeto de ejecución de paso
CORTO_CONTEXTO Versión reducida de la cadena ExecutionContext después de la serialización
SERIALIZADO_CONTEXTO Cadena ExecutionContext después de la serialización

Base de datos en memoria H2

 La operación del trabajo se refiere al control del trabajo, incluido el inicio del trabajo, la finalización del trabajo, el manejo de excepciones del trabajo, el procesamiento de reinicio del trabajo, etc.

En este punto, este artículo ha terminado. Si quieres saber qué sucederá a continuación, escucha el siguiente capítulo para desglosarlo ~

Pasar a la versión de video

Si no es adicto a leer texto, puede cambiar a la versión de video: el marco de procesamiento por lotes eficiente de Spring Batch en la práctica

 

 

Supongo que te gusta

Origin blog.csdn.net/langfeiyes/article/details/128880267
Recomendado
Clasificación