Spring Batch tabulky

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: Serializace JobParameters, která jednoznačně identifikuje odlišné instance toho samého jobu od sebe (JobInstances toho samého jobu musí mít odlišné JobParameters a  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íč na BATCH_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í (BatchStatus enum – COMPLETED, STARTING, STARTED, STOPPING, STOPPED, FAILED, ABANDONED, UNKNOWN).
  • EXIT_CODE: Kód ukončení (pravděpodobně ExitStatus enum – 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íč na BATCH_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 identifikaci JobInstance.

 

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 jedna StepExecution pro danž JobExecution a 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í (BatchStatus enum – 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ě ExitStatus enum – 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íč na JobExecution, které kontext patří.
  • SHORT_CONTEXT: Textová verze SERIALIZED_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á verze SERIALIZED_CONTEXT.
  • SERIALIZED_CONTEXT: Celý serializovaný kontext.

Zdroj: docs.spring.io/spring-batch/docs/current/reference/html/schema-appendix.html

Napsat komentář