Interface JobExplorer
- All Known Implementing Classes:
SimpleJobExplorer
public interface JobExplorer
Entry point for browsing executions of running or historical jobs and steps. Since the data may be re-hydrated from persistent storage, it may not contain volatile fields that would have been present when the execution was active.- Since:
- 2.0
- Author:
- Dave Syer, Michael Minella, Will Schipp, Mahmoud Ben Hassine
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<JobInstance>
findJobInstancesByJobName(java.lang.String jobName, int start, int count)
FetchJobInstance
values in descending order of creation (and there for usually of first execution) with a 'like'/wildcard criteria.java.util.Set<JobExecution>
findRunningJobExecutions(java.lang.String jobName)
Retrieve running job executions.JobExecution
getJobExecution(java.lang.Long executionId)
Retrieve aJobExecution
by its id.java.util.List<JobExecution>
getJobExecutions(JobInstance jobInstance)
Retrieve job executions by their job instance.JobInstance
getJobInstance(java.lang.Long instanceId)
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)
FetchJobInstance
values in descending order of creation (and therefore usually of first execution).java.util.List<java.lang.String>
getJobNames()
Query the repository for all uniqueJobInstance
names (sorted alphabetically).StepExecution
getStepExecution(java.lang.Long jobExecutionId, java.lang.Long stepExecutionId)
Retrieve aStepExecution
by its id and parentJobExecution
id.
Method Detail
getJobInstances
java.util.List<JobInstance> getJobInstances(java.lang.String jobName, int start, int count)
FetchJobInstance
values in descending order of creation (and therefore usually of first execution).- Parameters:
jobName
- the name of the job to querystart
- the start index of the instances to returncount
- the maximum number of instances to return- Returns:
- the
JobInstance
values up to a maximum of count values
getJobExecution
@Nullable JobExecution getJobExecution(@Nullable java.lang.Long executionId)
Retrieve aJobExecution
by its id. The complete object graph for this execution should be returned (unless otherwise indicated) including the parentJobInstance
and associatedExecutionContext
andStepExecution
instances (also including their execution contexts).- Parameters:
executionId
- the job execution id- Returns:
- the
JobExecution
with this id, or null if not found
getStepExecution
@Nullable StepExecution getStepExecution(@Nullable java.lang.Long jobExecutionId, @Nullable java.lang.Long stepExecutionId)
Retrieve aStepExecution
by its id and parentJobExecution
id. The execution context for the step should be available in the result, and the parent job execution should have its primitive properties, but may not contain the job instance information.- Parameters:
jobExecutionId
- the parent job execution idstepExecutionId
- the step execution id- Returns:
- the
StepExecution
with this id, or null if not found - See Also:
getJobExecution(Long)
getJobInstance
@Nullable JobInstance getJobInstance(@Nullable java.lang.Long instanceId)
- Parameters:
instanceId
-Long
id for the jobInstance to obtain.- Returns:
- the
JobInstance
with this id, or null
getJobExecutions
java.util.List<JobExecution> getJobExecutions(JobInstance jobInstance)
Retrieve job executions by their job instance. The corresponding step executions may not be fully hydrated (e.g. their execution context may be missing), depending on the implementation. UsegetStepExecution(Long, Long)
to hydrate them in that case.- Parameters:
jobInstance
- theJobInstance
to query- Returns:
- the set of all executions for the specified
JobInstance
findRunningJobExecutions
java.util.Set<JobExecution> findRunningJobExecutions(@Nullable java.lang.String jobName)
Retrieve running job executions. The corresponding step executions may not be fully hydrated (e.g. their execution context may be missing), depending on the implementation. UsegetStepExecution(Long, Long)
to hydrate them in that case.- Parameters:
jobName
- the name of the job- Returns:
- the set of running executions for jobs with the specified name
getJobNames
java.util.List<java.lang.String> getJobNames()
Query the repository for all uniqueJobInstance
names (sorted alphabetically).- Returns:
- the set of job names that have been executed
findJobInstancesByJobName
java.util.List<JobInstance> findJobInstancesByJobName(java.lang.String jobName, int start, int count)
FetchJobInstance
values in descending order of creation (and there for usually of first execution) with a 'like'/wildcard criteria.- Parameters:
jobName
- the name of the job to query for.start
- the start index of the instances to return.count
- the maximum number of instances to return.- Returns:
- a list of
JobInstance
for the job name requested.
getJobInstanceCount
int getJobInstanceCount(@Nullable java.lang.String jobName) throws NoSuchJobException
Query the repository for the number of uniqueJobInstance
s associated with the supplied job name.- 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 when there is noJobInstance
for the jobName specified.