Class SimpleTaskExplorer
java.lang.Object
org.springframework.cloud.task.repository.support.SimpleTaskExplorer
- All Implemented Interfaces:
TaskExplorer
TaskExplorer for that gathers task information from a task repository.
- Author:
- Glenn Renfro, Michael Minella, Gunnar Hillert, David Turanski
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.data.domain.Page<TaskExecution>
findAll
(org.springframework.data.domain.Pageable pageable) Retrieves all the task executions within the pageable constraints sorted by start date descending, taskExecution id descending.org.springframework.data.domain.Page<TaskExecution>
findRunningTaskExecutions
(String taskName, org.springframework.data.domain.Pageable pageable) Retrieve a collection of taskExecutions that have the task name provided.org.springframework.data.domain.Page<TaskExecution>
findTaskExecutionsByName
(String taskName, org.springframework.data.domain.Pageable pageable) Get a collection/page of executions.getJobExecutionIdsByTaskExecutionId
(long taskExecutionId) Returns a Set of JobExecution ids for the jobs that were executed within the scope of the requested task.getLatestTaskExecutionForTaskName
(String taskName) Returns the latest task execution for a given task name.getLatestTaskExecutionsByTaskNames
(String... taskNames) Returns aList
of the latestTaskExecution
for 1 or more task names.long
Retrieves current number of running task executions.getTaskExecution
(long executionId) Retrieve aTaskExecution
by its id.long
Retrieves current number of task executions.long
getTaskExecutionCountByTaskName
(String taskName) Get number of executions for a taskName.getTaskExecutionIdByJobExecutionId
(long jobExecutionId) Returns the id of the TaskExecution that the requested Spring Batch job execution was executed within the context of.Retrieve a list of available task names.
-
Constructor Details
-
SimpleTaskExplorer
-
-
Method Details
-
getTaskExecution
Description copied from interface:TaskExplorer
Retrieve aTaskExecution
by its id.- Specified by:
getTaskExecution
in interfaceTaskExplorer
- Parameters:
executionId
- the task execution id- Returns:
- the
TaskExecution
with this id, or null if not found
-
findRunningTaskExecutions
public org.springframework.data.domain.Page<TaskExecution> findRunningTaskExecutions(String taskName, org.springframework.data.domain.Pageable pageable) Description copied from interface:TaskExplorer
Retrieve a collection of taskExecutions that have the task name provided.- Specified by:
findRunningTaskExecutions
in interfaceTaskExplorer
- Parameters:
taskName
- the name of the taskpageable
- the constraints for the search- Returns:
- the set of running executions for tasks with the specified name
-
getTaskNames
Description copied from interface:TaskExplorer
Retrieve a list of available task names.- Specified by:
getTaskNames
in interfaceTaskExplorer
- Returns:
- the set of task names that have been executed
-
getTaskExecutionCountByTaskName
Description copied from interface:TaskExplorer
Get number of executions for a taskName.- Specified by:
getTaskExecutionCountByTaskName
in interfaceTaskExplorer
- Parameters:
taskName
- the name of the task to be searched- Returns:
- the number of running tasks that have the taskname specified
-
getTaskExecutionCount
public long getTaskExecutionCount()Description copied from interface:TaskExplorer
Retrieves current number of task executions.- Specified by:
getTaskExecutionCount
in interfaceTaskExplorer
- Returns:
- current number of task executions.
-
getRunningTaskExecutionCount
public long getRunningTaskExecutionCount()Description copied from interface:TaskExplorer
Retrieves current number of running task executions.- Specified by:
getRunningTaskExecutionCount
in interfaceTaskExplorer
- Returns:
- current number of running task executions.
-
findTaskExecutionsByName
public org.springframework.data.domain.Page<TaskExecution> findTaskExecutionsByName(String taskName, org.springframework.data.domain.Pageable pageable) Description copied from interface:TaskExplorer
Get a collection/page of executions.- Specified by:
findTaskExecutionsByName
in interfaceTaskExplorer
- Parameters:
taskName
- the name of the task to be searchedpageable
- the constraints for the search- Returns:
- list of task executions
-
findAll
public org.springframework.data.domain.Page<TaskExecution> findAll(org.springframework.data.domain.Pageable pageable) Description copied from interface:TaskExplorer
Retrieves all the task executions within the pageable constraints sorted by start date descending, taskExecution id descending.- Specified by:
findAll
in interfaceTaskExplorer
- Parameters:
pageable
- the constraints for the search- Returns:
- page containing the results from the search
-
getTaskExecutionIdByJobExecutionId
Description copied from interface:TaskExplorer
Returns the id of the TaskExecution that the requested Spring Batch job execution was executed within the context of. Returns null if none were found.- Specified by:
getTaskExecutionIdByJobExecutionId
in interfaceTaskExplorer
- Parameters:
jobExecutionId
- the id of the JobExecution- Returns:
- the id of the
TaskExecution
-
getJobExecutionIdsByTaskExecutionId
Description copied from interface:TaskExplorer
Returns a Set of JobExecution ids for the jobs that were executed within the scope of the requested task.- Specified by:
getJobExecutionIdsByTaskExecutionId
in interfaceTaskExplorer
- Parameters:
taskExecutionId
- id of theTaskExecution
- Returns:
- a
Set
of the ids of the job executions executed within the task.
-
getLatestTaskExecutionsByTaskNames
Description copied from interface:TaskExplorer
Returns aList
of the latestTaskExecution
for 1 or more task names. Latest is defined by the most recent start time. ATaskExecution
does not have to be finished (The results may including pendingTaskExecution
s). It is theoretically possible that aTaskExecution
with the same name to have more than 1TaskExecution
for the exact same start time. In that case theTaskExecution
with the highest Task Execution ID is returned. This method will not consider end times in its calculations. Thus, when a task executionA
starts after task executionB
but finishes BEFORE task executionA
, then task executionB
is being returned.- Specified by:
getLatestTaskExecutionsByTaskNames
in interfaceTaskExplorer
- Parameters:
taskNames
- At least 1 task name must be provided- Returns:
- List of TaskExecutions. May be empty but never null.
-
getLatestTaskExecutionForTaskName
Description copied from interface:TaskExplorer
Returns the latest task execution for a given task name. Will ultimately apply the same algorithm underneath asTaskExplorer.getLatestTaskExecutionsByTaskNames(String...)
but will only return a single result.- Specified by:
getLatestTaskExecutionForTaskName
in interfaceTaskExplorer
- Parameters:
taskName
- Must not be null or empty- Returns:
- The latest Task Execution or null
- See Also:
-