public class JdbcJobInstanceDao extends AbstractJdbcBatchMetadataDao implements JobInstanceDao, org.springframework.beans.factory.InitializingBean
JobInstanceDao
. Uses sequences (via Spring's
DataFieldMaxValueIncrementer
abstraction) to create all primary keys
before inserting a new row. Objects are checked to ensure all mandatory
fields to be stored are not null. If any are found to be null, an
IllegalArgumentException will be thrown. This could be left to JdbcTemplate,
however, the exception will be fairly vague, and fails to highlight which
field caused the exception.DEFAULT_EXIT_MESSAGE_LENGTH, DEFAULT_TABLE_PREFIX
Constructor and Description |
---|
JdbcJobInstanceDao() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
JobInstance |
createJobInstance(String jobName,
JobParameters jobParameters)
In this jdbc implementation a job id is obtained by asking the
jobIncrementer (which is likely a sequence) for the next long value, and
then passing the Id and parameter values into an INSERT statement.
|
JobInstance |
getJobInstance(JobExecution jobExecution)
Fetch the JobInstance for the provided JobExecution.
|
JobInstance |
getJobInstance(Long instanceId)
Fetch the job instance with the provided identifier.
|
JobInstance |
getJobInstance(String jobName,
JobParameters jobParameters)
The job table is queried for any jobs that match the
given identifier, adding them to a list via the RowMapper callback.
|
List<JobInstance> |
getJobInstances(String jobName,
int start,
int count)
Fetch the last job instances with the provided name, sorted backwards by
primary key.
|
List<String> |
getJobNames()
Retrieve the names of all job instances sorted alphabetically - i.e.
|
void |
setJobIncrementer(org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer jobIncrementer)
Setter for
DataFieldMaxValueIncrementer to be used when
generating primary keys for JobInstance instances. |
getClobTypeToUse, getJdbcTemplate, getQuery, getTablePrefix, setClobTypeToUse, setJdbcTemplate, setTablePrefix
public JobInstance createJobInstance(String jobName, JobParameters jobParameters)
createJobInstance
in interface JobInstanceDao
IllegalArgumentException
- if any JobParameters
fields are null.JobInstanceDao.createJobInstance(String, JobParameters)
public JobInstance getJobInstance(String jobName, JobParameters jobParameters)
getJobInstance
in interface JobInstanceDao
jobName
- the name of the jobjobParameters
- the parameters with which the job was executedJobInstance
object matching the job name and
JobParameters
or nullIllegalArgumentException
- if any JobParameters
fields are null.JobInstanceDao.getJobInstance(String, JobParameters)
public JobInstance getJobInstance(Long instanceId)
JobInstanceDao
getJobInstance
in interface JobInstanceDao
instanceId
- the job identifierpublic List<String> getJobNames()
JobInstanceDao
getJobNames
in interface JobInstanceDao
public List<JobInstance> getJobInstances(String jobName, int start, int count)
JobInstanceDao
getJobInstances
in interface JobInstanceDao
jobName
- the job namestart
- the start index of the instances to returncount
- the maximum number of objects to returnpublic JobInstance getJobInstance(JobExecution jobExecution)
JobInstanceDao
getJobInstance
in interface JobInstanceDao
jobExecution
- the JobExecutionpublic void setJobIncrementer(org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer jobIncrementer)
DataFieldMaxValueIncrementer
to be used when
generating primary keys for JobInstance
instances.jobIncrementer
- the DataFieldMaxValueIncrementer
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
in class AbstractJdbcBatchMetadataDao
Exception
Copyright © 2014 Pivotal. All rights reserved.