Class JdbcExecutionContextDao

java.lang.Object
org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao
org.springframework.batch.core.repository.dao.JdbcExecutionContextDao
All Implemented Interfaces:
ExecutionContextDao, org.springframework.beans.factory.InitializingBean

public class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao implements ExecutionContextDao
JDBC DAO for ExecutionContext.

Stores execution context data related to both Step and Job using a different table for each.

Author:
Lucas Ward, Robert Kasanicky, Thomas Risberg, Michael Minella, David Turanski, Mahmoud Ben Hassine
  • Constructor Details

    • JdbcExecutionContextDao

      public JdbcExecutionContextDao()
  • Method Details

    • setSerializer

      public void setSerializer(ExecutionContextSerializer serializer)
      Setter for Serializer implementation
      Parameters:
      serializer - ExecutionContextSerializer instance to use.
    • setShortContextLength

      public void setShortContextLength(int shortContextLength)
      The maximum size that an execution context can have and still be stored completely in short form in the column SHORT_CONTEXT. Anything longer than this will overflow into large-object storage, and the first part only will be retained in the short form for readability. Default value is 2500. Clients using multi-bytes charsets on the database server may need to reduce this value to as little as half the value of the column size.
      Parameters:
      shortContextLength - int max length of the short context.
    • setCharset

      public void setCharset(@NonNull Charset charset)
      Set the Charset to use when serializing/deserializing the execution context. Must not be null. Defaults to "UTF-8".
      Parameters:
      charset - to use when serializing/deserializing the execution context.
      Since:
      5.0
    • getExecutionContext

      public ExecutionContext getExecutionContext(JobExecution jobExecution)
      Specified by:
      getExecutionContext in interface ExecutionContextDao
      Parameters:
      jobExecution - JobExecution instance that contains the context.
      Returns:
      execution context associated with the given jobExecution
    • getExecutionContext

      public ExecutionContext getExecutionContext(StepExecution stepExecution)
      Specified by:
      getExecutionContext in interface ExecutionContextDao
      Parameters:
      stepExecution - StepExecution instance that contains the context.
      Returns:
      execution context associated with the given stepExecution
    • updateExecutionContext

      public void updateExecutionContext(JobExecution jobExecution)
      Description copied from interface: ExecutionContextDao
      Persist the updates of execution context associated with the given jobExecution. Persistent entry should already exist for this context.
      Specified by:
      updateExecutionContext in interface ExecutionContextDao
      Parameters:
      jobExecution - JobExecution instance that contains the context.
    • updateExecutionContext

      public void updateExecutionContext(StepExecution stepExecution)
      Description copied from interface: ExecutionContextDao
      Persist the updates of execution context associated with the given stepExecution. Persistent entry should already exist for this context.
      Specified by:
      updateExecutionContext in interface ExecutionContextDao
      Parameters:
      stepExecution - StepExecution instance that contains the context.
    • saveExecutionContext

      public void saveExecutionContext(JobExecution jobExecution)
      Description copied from interface: ExecutionContextDao
      Persist the execution context associated with the given jobExecution, persistent entry for the context should not exist yet.
      Specified by:
      saveExecutionContext in interface ExecutionContextDao
      Parameters:
      jobExecution - JobExecution instance that contains the context.
    • saveExecutionContext

      public void saveExecutionContext(StepExecution stepExecution)
      Description copied from interface: ExecutionContextDao
      Persist the execution context associated with the given stepExecution, persistent entry for the context should not exist yet.
      Specified by:
      saveExecutionContext in interface ExecutionContextDao
      Parameters:
      stepExecution - StepExecution instance that contains the context.
    • saveExecutionContexts

      public void saveExecutionContexts(Collection<StepExecution> stepExecutions)
      Description copied from interface: ExecutionContextDao
      Persist the execution context associated with each stepExecution in a given collection, persistent entry for the context should not exist yet.
      Specified by:
      saveExecutionContexts in interface ExecutionContextDao
      Parameters:
      stepExecutions - a collection of StepExecutions that contain the contexts.
    • deleteExecutionContext

      public void deleteExecutionContext(JobExecution jobExecution)
      Delete the execution context of the given JobExecution.
      Specified by:
      deleteExecutionContext in interface ExecutionContextDao
      Parameters:
      jobExecution - JobExecution that contains the context to delete.
    • deleteExecutionContext

      public void deleteExecutionContext(StepExecution stepExecution)
      Delete the execution context of the given StepExecution.
      Specified by:
      deleteExecutionContext in interface ExecutionContextDao
      Parameters:
      stepExecution - StepExecution that contains the context to delete.
    • setLobHandler

      public void setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Overrides:
      afterPropertiesSet in class AbstractJdbcBatchMetadataDao
      Throws:
      Exception