Tabla de contenido
tabla de ejecución de trabajos por lotes
lote_trabajo_ejecución_contexto
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