Spring Batch používá šest tabulek:
BATCH_JOB_INSTANCE
Obsahuje informace o JobInstance
JOB_INSTANCE_ID: Unikátní id instance, které je zároveň primárním klíčem.VERSION: Verze záznamu používaná pro optimistické zamykání.JOB_NAME: Název jobu.JOB_KEY: SerializaceJobParameters, která jednoznačně identifikuje odlišné instance toho samého jobu od sebe (JobInstancestoho samého jobu musí mít odlišnéJobParametersa tím pádem odlišnýJOB_KEY).
BATCH_JOB_EXECUTION
Obsahuje informace o JobExecution. Po každé, když je spuštěn job, je vždy vytvořen nový JobExecution záznam v databázi.
JOB_EXECUTION_ID: Primární klíč.VERSION: Verze záznamu používaná pro optimistické zamykání.JOB_INSTANCE_ID: Cizí klíč naBATCH_JOB_INSTANCE.CREATE_TIME: Timestamp vytvoření.START_TIME: Timestamp spuštěníJobExecution.END_TIME: Timestamp ukončení bez ohledu na výsledek. Prázdná hodnota v tomto sloupci (pokud job aktuálně nebězí) znamená chybu.STATUS: Status vykonání (BatchStatusenum –COMPLETED,STARTING,STARTED,STOPPING,STOPPED,FAILED,ABANDONED,UNKNOWN).EXIT_CODE: Kód ukončení (pravděpodobněExitStatusenum –UNKNOWN,EXECUTING,COMPLETED,NOOP,FAILED,STOPPED.EXIT_MESSAGE: Podrobnější informace o tom, jak job skončil. V případě chyby může obsahovat část stack trace.LAST_UPDATED: Timestamp poslední změny (posledního uloženíJobExecution).
BATCH_JOB_EXECUTION_PARAMS
Obsahuje informace o JobParameters
JOB_EXECUTION_ID: Cizí klíč naBATCH_JOB_EXECUTION.TYPE_CD: Typ uložené hodnoty (může to být string, date, long, nebo double).KEY_NAME: Název parametru.STRING_VAL: Hodnota parametru pokud se jedná o string.DATE_VAL: Hodnota parametru pokud se jedná o date.LONG_VAL: Hodnota parametru pokud se jedná o long.DOUBLE_VAL: Hodnota parametru pokud se jedná o double.IDENTIFYING: Příznak, který informuje zda paramter sloužil k identifikaciJobInstance.
BATCH_STEP_EXECUTION
Obsahuje informace o StepExecution. Tato tabulka je podobná tabulce BATCH_JOB_EXECUTION a obsahuje minimálně jeden záznam pro každý Step každé JobExecution.
STEP_EXECUTION_ID: Primární klíč.VERSION: Verze záznamu používaná pro optimistické zamykání.STEP_NAME: Název kroku.JOB_EXECUTION_ID: Cizí klíčBATCH_JOB_EXECUTION. Může existovat pouze jednaStepExecutionpro danžJobExecutiona danýStep.START_TIME: Timestamp kdy začlo vykonávání.END_TIME: Timestamp, kdy skončilo vykonávání (bez ohledu na výsledek). Prázdná hodnota v tomto sloupci znamená nějakou chybu, kdy framework nebyl schopen uložit stav.STATUS: Status vykonání (BatchStatusenum –COMPLETED,STARTING,STARTED,STOPPING,STOPPED,FAILED,ABANDONED,UNKNOWN).COMMIT_COUNT: Počet, kolikrát došlo v daném kroku ke komitnutí transakce.READ_COUNT: Počet přečtených položek v rámci vykonávání daného kroku.FILTER_COUNT: Počet položek odfiltrovaných z vykonávání daného kroku.WRITE_COUNT: Počet zapsaných a komitnutých položek v rámci vykonávání daného kroku.READ_SKIP_COUNT: Počet přeskočených položek při čtení v rámci vykonávání daného kroku.WRITE_SKIP_COUNT: Počet přeskočených položek při zápisu v rámci vykonávání daného kroku.PROCESS_SKIP_COUNT: Počet přeskočených položek při zpracování v rámci vykonávání daného kroku.ROLLBACK_COUNT: Počet rollbacků při vykonávání daného kroku.EXIT_CODE: Kód ukončení (pravděpodobněExitStatusenum –UNKNOWN,EXECUTING,COMPLETED,NOOP,FAILED,STOPPED.EXIT_MESSAGE: Podrobnější informace o tom, jak job skončil. V případě chyby může obsahovat část stack trace.LAST_UPDATED: Timestamp representing the last time this execution was persisted.
BATCH_JOB_EXECUTION_CONTEXT
Obsahuje data týkající se ExecutionContext jobu.
JOB_EXECUTION_ID: Cizí klíč naJobExecution, které kontext patří.SHORT_CONTEXT: Textová verzeSERIALIZED_CONTEXT.SERIALIZED_CONTEXT: Celý serializovaný kontext.
BATCH_STEP_EXECUTION_CONTEXT
Obsahuje data týkající se ExecutionContext kroku.
STEP_EXECUTION_ID: Cizí klíčStepExecution.SHORT_CONTEXT: Textová verzeSERIALIZED_CONTEXT.SERIALIZED_CONTEXT: Celý serializovaný kontext.
Zdroj: docs.spring.io/spring-batch/docs/current/reference/html/schema-appendix.html
