Class JobRepositoryFactoryBean
- java.lang.Object
- org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean
- org.springframework.batch.core.repository.support.JobRepositoryFactoryBean
- All Implemented Interfaces:
org.springframework.beans.factory.FactoryBean<JobRepository>
,org.springframework.beans.factory.InitializingBean
public class JobRepositoryFactoryBean extends AbstractJobRepositoryFactoryBean implements org.springframework.beans.factory.InitializingBean
AFactoryBean
that automates the creation of aSimpleJobRepository
using JDBC DAO implementations which persist batch metadata in database. Requires the user to describe what kind of database they are using.- Author:
- Ben Hale, Lucas Ward, Dave Syer, Michael Minella
Field Summary
Fields Modifier and Type Field Description protected static org.apache.commons.logging.Log
logger
Constructor Summary
Constructors Constructor Description JobRepositoryFactoryBean()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
protected ExecutionContextDao
createExecutionContextDao()
protected JobExecutionDao
createJobExecutionDao()
protected JobInstanceDao
createJobInstanceDao()
protected StepExecutionDao
createStepExecutionDao()
void
setClobType(int type)
void
setDatabaseType(java.lang.String dbType)
Sets the database type.void
setDataSource(javax.sql.DataSource dataSource)
Public setter for theDataSource
.void
setIncrementerFactory(DataFieldMaxValueIncrementerFactory incrementerFactory)
void
setJdbcOperations(org.springframework.jdbc.core.JdbcOperations jdbcOperations)
Public setter for theJdbcOperations
.void
setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
A special handler for large objects.void
setMaxVarCharLength(int maxVarCharLength)
Public setter for the length of long string columns in database.void
setSerializer(ExecutionContextSerializer serializer)
A custom implementation of theExecutionContextSerializer
.void
setTablePrefix(java.lang.String tablePrefix)
Sets the table prefix for all the batch meta-data tables.Methods inherited from class org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean
getJobRepository, getObject, getObjectType, getTransactionManager, isSingleton, setIsolationLevelForCreate, setTransactionManager, setValidateTransactionState
Method Detail
setClobType
public void setClobType(int type)
- Parameters:
type
- a value from theTypes
class to indicate the type to use for a CLOB
setSerializer
public void setSerializer(ExecutionContextSerializer serializer)
A custom implementation of theExecutionContextSerializer
. The default, if not injected, is theJackson2ExecutionContextStringSerializer
.- Parameters:
serializer
- used to serialize/deserializeExecutionContext
- See Also:
ExecutionContextSerializer
setLobHandler
public void setLobHandler(org.springframework.jdbc.support.lob.LobHandler lobHandler)
A special handler for large objects. The default is usually fine, except for some (usually older) versions of Oracle. The default is determined from the data base type.- Parameters:
lobHandler
- theLobHandler
to set- See Also:
LobHandler
setMaxVarCharLength
public void setMaxVarCharLength(int maxVarCharLength)
Public setter for the length of long string columns in database. Do not set this if you haven't modified the schema. Note this value will be used for the exit message in bothJdbcJobExecutionDao
andJdbcStepExecutionDao
and also the short version of the execution context inJdbcExecutionContextDao
. For databases with multi-byte character sets this number can be smaller (by up to a factor of 2 for 2-byte characters) than the declaration of the column length in the DDL for the tables.- Parameters:
maxVarCharLength
- the exitMessageLength to set
setDataSource
public void setDataSource(javax.sql.DataSource dataSource)
Public setter for theDataSource
.- Parameters:
dataSource
- aDataSource
setJdbcOperations
public void setJdbcOperations(org.springframework.jdbc.core.JdbcOperations jdbcOperations)
Public setter for theJdbcOperations
. If this property is not set explicitly, a newJdbcTemplate
will be created for the configured DataSource by default.- Parameters:
jdbcOperations
- aJdbcOperations
setDatabaseType
public void setDatabaseType(java.lang.String dbType)
Sets the database type.- Parameters:
dbType
- as specified byDefaultDataFieldMaxValueIncrementerFactory
setTablePrefix
public void setTablePrefix(java.lang.String tablePrefix)
Sets the table prefix for all the batch meta-data tables.- Parameters:
tablePrefix
- prefix prepended to batch meta-data tables
setIncrementerFactory
public void setIncrementerFactory(DataFieldMaxValueIncrementerFactory incrementerFactory)
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Overrides:
afterPropertiesSet
in classAbstractJobRepositoryFactoryBean
- Throws:
java.lang.Exception
createJobInstanceDao
protected JobInstanceDao createJobInstanceDao() throws java.lang.Exception
- Specified by:
createJobInstanceDao
in classAbstractJobRepositoryFactoryBean
- Returns:
- fully configured
JobInstanceDao
implementation. - Throws:
java.lang.Exception
- thrown if error occurs creating JobInstanceDao.
createJobExecutionDao
protected JobExecutionDao createJobExecutionDao() throws java.lang.Exception
- Specified by:
createJobExecutionDao
in classAbstractJobRepositoryFactoryBean
- Returns:
- fully configured
JobExecutionDao
implementation. - Throws:
java.lang.Exception
- thrown if error occurs creating JobExecutionDao.
createStepExecutionDao
protected StepExecutionDao createStepExecutionDao() throws java.lang.Exception
- Specified by:
createStepExecutionDao
in classAbstractJobRepositoryFactoryBean
- Returns:
- fully configured
StepExecutionDao
implementation. - Throws:
java.lang.Exception
- thrown if error occurs creating StepExecutionDao.
createExecutionContextDao
protected ExecutionContextDao createExecutionContextDao() throws java.lang.Exception
- Specified by:
createExecutionContextDao
in classAbstractJobRepositoryFactoryBean
- Returns:
- fully configured
ExecutionContextDao
implementation. - Throws:
java.lang.Exception
- thrown if error occurs creating ExecutionContextDao.