Class MongoJobInstanceDao

java.lang.Object
org.springframework.batch.core.repository.dao.MongoJobInstanceDao
All Implemented Interfaces:
JobInstanceDao

public class MongoJobInstanceDao extends Object implements JobInstanceDao
Since:
5.2.0
Author:
Mahmoud Ben Hassine
  • Constructor Details

    • MongoJobInstanceDao

      public MongoJobInstanceDao(org.springframework.data.mongodb.core.MongoOperations mongoOperations)
  • Method Details

    • setJobKeyGenerator

      public void setJobKeyGenerator(JobKeyGenerator<JobParameters> jobKeyGenerator)
    • setJobInstanceIncrementer

      public void setJobInstanceIncrementer(org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer jobInstanceIncrementer)
    • createJobInstance

      public JobInstance createJobInstance(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 interface JobInstanceDao
      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

      public JobInstance getJobInstance(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 interface JobInstanceDao
      Parameters:
      jobName - the name of the job
      jobParameters - the parameters with which the job was executed
      Returns:
      JobInstance object matching the job name and JobParameters or null
    • getJobInstance

      public JobInstance getJobInstance(Long instanceId)
      Description copied from interface: JobInstanceDao
      Fetch the job instance with the provided identifier.
      Specified by:
      getJobInstance in interface JobInstanceDao
      Parameters:
      instanceId - the job identifier
      Returns:
      the job instance with this identifier or null if it doesn't exist
    • getJobInstance

      public JobInstance getJobInstance(JobExecution jobExecution)
      Description copied from interface: JobInstanceDao
      Fetch the JobInstance for the provided JobExecution.
      Specified by:
      getJobInstance in interface JobInstanceDao
      Parameters:
      jobExecution - the JobExecution
      Returns:
      the JobInstance for the provided execution or null if it doesn't exist.
    • getJobInstances

      public List<JobInstance> getJobInstances(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 interface JobInstanceDao
      Parameters:
      jobName - the job name
      start - the start index of the instances to return
      count - the maximum number of objects to return
      Returns:
      the job instances with this name or empty if none
    • getLastJobInstance

      public JobInstance getLastJobInstance(String jobName)
      Description copied from interface: JobInstanceDao
      Fetch the last job instance by Id for the given job.
      Specified by:
      getLastJobInstance in interface JobInstanceDao
      Parameters:
      jobName - name of the job
      Returns:
      the last job instance by Id if any or null otherwise
    • getJobNames

      public List<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 interface JobInstanceDao
      Returns:
      the names of all job instances
    • findJobInstancesByName

      public List<JobInstance> findJobInstancesByName(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 interface JobInstanceDao
      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.
    • getJobInstanceCount

      public long getJobInstanceCount(String jobName) throws NoSuchJobException
      Description copied from interface: JobInstanceDao
      Query the repository for the number of unique JobInstances associated with the supplied job name.
      Specified by:
      getJobInstanceCount in interface JobInstanceDao
      Parameters:
      jobName - the name of the job to query for
      Returns:
      the number of JobInstances that exist within the associated job repository
      Throws:
      NoSuchJobException - thrown if no Job has the jobName specified.