Class MapJobInstanceDao
- java.lang.Object
- org.springframework.batch.core.repository.dao.MapJobInstanceDao
- All Implemented Interfaces:
JobInstanceDao
public class MapJobInstanceDao extends java.lang.Object implements JobInstanceDao
In-memory implementation ofJobInstanceDao
.
Constructor Summary
Constructors Constructor Description MapJobInstanceDao()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
JobInstance
createJobInstance(java.lang.String jobName, JobParameters jobParameters)
Create a JobInstance with given name and parameters.java.util.List<JobInstance>
findJobInstancesByName(java.lang.String jobName, int start, int count)
Fetch the last job instances with the provided name, sorted backwards by primary key, using a 'like' criteriaJobInstance
getJobInstance(java.lang.Long instanceId)
Fetch the job instance with the provided identifier.JobInstance
getJobInstance(java.lang.String jobName, JobParameters jobParameters)
Find the job instance that matches the given name and parameters.JobInstance
getJobInstance(JobExecution jobExecution)
Fetch the JobInstance for the provided JobExecution.int
getJobInstanceCount(java.lang.String jobName)
Query the repository for the number of uniqueJobInstance
s associated with the supplied job name.java.util.List<JobInstance>
getJobInstances(java.lang.String jobName, int start, int count)
Fetch the last job instances with the provided name, sorted backwards by primary key.java.util.List<java.lang.String>
getJobNames()
Retrieve the names of all job instances sorted alphabetically - i.e.
Method Detail
clear
public void clear()
createJobInstance
public JobInstance createJobInstance(java.lang.String jobName, JobParameters jobParameters)
Description copied from interface:JobInstanceDao
Create a JobInstance with given name and parameters. PreConditions: JobInstance for given name and parameters must not already exist PostConditions: A valid job instance will be returned which has been persisted and contains an unique Id.- Specified by:
createJobInstance
in interfaceJobInstanceDao
- Parameters:
jobName
-String
containing the name of the job.jobParameters
-JobParameters
containing the parameters for the JobInstance.- Returns:
- JobInstance
JobInstance
instance that was created.
getJobInstance
@Nullable public JobInstance getJobInstance(java.lang.String jobName, JobParameters jobParameters)
Description copied from interface:JobInstanceDao
Find the job instance that matches the given name and parameters. If no matching job instances are found, then returns null.- Specified by:
getJobInstance
in interfaceJobInstanceDao
- Parameters:
jobName
- the name of the jobjobParameters
- the parameters with which the job was executed- Returns:
JobInstance
object matching the job name andJobParameters
ornull
getJobInstance
@Nullable public JobInstance getJobInstance(@Nullable java.lang.Long instanceId)
Description copied from interface:JobInstanceDao
Fetch the job instance with the provided identifier.- Specified by:
getJobInstance
in interfaceJobInstanceDao
- Parameters:
instanceId
- the job identifier- Returns:
- the job instance with this identifier or
null
if it doesn't exist
getJobNames
public java.util.List<java.lang.String> getJobNames()
Description copied from interface:JobInstanceDao
Retrieve the names of all job instances sorted alphabetically - i.e. jobs that have ever been executed.- Specified by:
getJobNames
in interfaceJobInstanceDao
- Returns:
- the names of all job instances
getJobInstances
public java.util.List<JobInstance> getJobInstances(java.lang.String jobName, int start, int count)
Description copied from interface:JobInstanceDao
Fetch the last job instances with the provided name, sorted backwards by primary key. if using the JdbcJobInstance, you can provide the jobName with a wildcard (e.g. *Job) to return 'like' job names. (e.g. *Job will return 'someJob' and 'otherJob')- Specified by:
getJobInstances
in interfaceJobInstanceDao
- Parameters:
jobName
- the job namestart
- the start index of the instances to returncount
- the maximum number of objects to return- Returns:
- the job instances with this name or empty if none
getJobInstance
@Nullable public JobInstance getJobInstance(JobExecution jobExecution)
Description copied from interface:JobInstanceDao
Fetch the JobInstance for the provided JobExecution.- Specified by:
getJobInstance
in interfaceJobInstanceDao
- Parameters:
jobExecution
- the JobExecution- Returns:
- the JobInstance for the provided execution or
null
if it doesn't exist.
getJobInstanceCount
public int getJobInstanceCount(@Nullable java.lang.String jobName) throws NoSuchJobException
Description copied from interface:JobInstanceDao
Query the repository for the number of uniqueJobInstance
s associated with the supplied job name.- Specified by:
getJobInstanceCount
in interfaceJobInstanceDao
- Parameters:
jobName
- the name of the job to query for- Returns:
- the number of
JobInstance
s that exist within the associated job repository - Throws:
NoSuchJobException
- thrown if no Job has the jobName specified.
findJobInstancesByName
public java.util.List<JobInstance> findJobInstancesByName(java.lang.String jobName, int start, int count)
Description copied from interface:JobInstanceDao
Fetch the last job instances with the provided name, sorted backwards by primary key, using a 'like' criteria- Specified by:
findJobInstancesByName
in interfaceJobInstanceDao
- Parameters:
jobName
-String
containing the name of the job.start
- int containing the offset of where list of job instances results should begin.count
- int containing the number of job instances to return.- Returns:
- a list of
JobInstance
for the job name requested.