|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.evolveum.midpoint.task.impl.TaskManagerImpl
@Service(value="taskManager") @DependsOn(value="repositoryService") public class TaskManagerImpl
Task Manager implementation. VERY SIMPLISTIC. This needs to be updated later. It assumes only a single host. No cluster, in fact not even a repository access. So the tasks will not survive restarts.
Constructor Summary | |
---|---|
TaskManagerImpl()
|
Method Summary | |
---|---|
java.lang.String |
addTask(TaskType taskType,
OperationResult parentResult)
Add new task. |
void |
claimTask(Task task,
OperationResult parentResult)
Claim task exclusively for this node. |
Task |
createTaskInstance()
Creates new transient, running, claimed task instance. |
Task |
createTaskInstance(java.lang.String operationName)
Creates new transient, running, claimed task instance. |
Task |
createTaskInstance(TaskType taskType)
Creates task instance from the XML task representation. |
Task |
createTaskInstance(TaskType taskType,
java.lang.String operationName)
Creates task instance from the XML task representation. |
void |
deactivateServiceThreads()
Deactivate service threads (temporarily). |
void |
deleteTask(java.lang.String oid,
OperationResult parentResult)
Deletes task with provided OID. |
java.util.Set<Task> |
getRunningTasks()
Returns tasks that currently run on this node. |
boolean |
getServiceThreadsActivationState()
Returns true if the service threads are running. |
Task |
getTask(java.lang.String taskOid,
OperationResult parentResult)
Returns a task with specified OID. |
void |
init()
|
java.util.Set<Task> |
listTasks()
Lists all tasks. |
void |
modifyTask(ObjectModificationType objectChange,
OperationResult parentResult)
Modifies task using relative change description. |
void |
processRunnableTask(Task task)
|
void |
processRunnableTaskType(TaskType taskType)
Process runnable task with TaskType XML object as an argument. |
void |
reactivateServiceThreads()
Re-activate the service threads after they have been deactivated. |
void |
registerHandler(java.lang.String uri,
TaskHandler handler)
Register a handler for a specified handler URI. |
void |
releaseTask(Task task,
OperationResult parentResult)
Release a claimed task. |
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
|
void |
shutdown()
Make sure all processes are stopped properly. |
void |
switchToBackground(Task task,
OperationResult parentResult)
Switches the provided task to background, making it asynchronous. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TaskManagerImpl()
Method Detail |
---|
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
org.springframework.beans.BeansException
@PostConstruct public void init()
@PreDestroy public void shutdown()
TaskManager
shutdown
in interface TaskManager
public Task createTaskInstance()
TaskManager
createTaskInstance
in interface TaskManager
public Task createTaskInstance(java.lang.String operationName)
TaskManager
createTaskInstance
in interface TaskManager
operationName
- operation name to use as a root for new result in task
public Task createTaskInstance(TaskType taskType)
TaskManager
createTaskInstance
in interface TaskManager
taskType
- JAXB (XML) representation of the task
public Task createTaskInstance(TaskType taskType, java.lang.String operationName)
TaskManager
createTaskInstance
in interface TaskManager
taskType
- JAXB (XML) representation of the taskoperationName
- operation name to use as a root for new result in task
public Task getTask(java.lang.String taskOid, OperationResult parentResult) throws ObjectNotFoundException, SchemaException
TaskManager
getTask
in interface TaskManager
taskOid
- OID of the persistent task.
ObjectNotFoundException
- wrong OID format, etc.
SchemaException
- error dealing with resource schemapublic void claimTask(Task task, OperationResult parentResult) throws ObjectNotFoundException, ConcurrencyException, SchemaException
TaskManager
claimTask
in interface TaskManager
task
- task instance to claim
ObjectNotFoundException
ConcurrencyException
SchemaException
public void releaseTask(Task task, OperationResult parentResult) throws ObjectNotFoundException, SchemaException
TaskManager
releaseTask
in interface TaskManager
task
- task instance to release
ObjectNotFoundException
SchemaException
public void switchToBackground(Task task, OperationResult parentResult)
TaskManager
switchToBackground
in interface TaskManager
task
- task to switch to background.public java.util.Set<Task> listTasks()
TaskManager
listTasks
in interface TaskManager
public void registerHandler(java.lang.String uri, TaskHandler handler)
TaskManager
registerHandler
in interface TaskManager
public void processRunnableTaskType(TaskType taskType)
task
- XML TaskType objectpublic void processRunnableTask(Task task)
public java.util.Set<Task> getRunningTasks()
TaskManager
getRunningTasks
in interface TaskManager
public java.lang.String addTask(TaskType taskType, OperationResult parentResult) throws ObjectAlreadyExistsException, SchemaException
TaskManager
addTask
in interface TaskManager
parentResult
- parent OperationResult (in/out)
ObjectAlreadyExistsException
- object with specified identifiers already exists, cannot add
SchemaException
- error dealing with storage schema, e.g. schema violationpublic void modifyTask(ObjectModificationType objectChange, OperationResult parentResult) throws ObjectNotFoundException, SchemaException
TaskManager
modifyTask
in interface TaskManager
objectChange
- specification of object changesparentResult
- parent OperationResult (in/out)
ObjectNotFoundException
- specified object does not exist
SchemaException
- resulting object would violate the schemapublic void deleteTask(java.lang.String oid, OperationResult parentResult) throws ObjectNotFoundException
TaskManager
deleteTask
in interface TaskManager
oid
- OID of object to deleteparentResult
- parent OperationResult (in/out)
ObjectNotFoundException
- specified object does not existpublic void deactivateServiceThreads()
TaskManager
deactivateServiceThreads
in interface TaskManager
public void reactivateServiceThreads()
TaskManager
reactivateServiceThreads
in interface TaskManager
public boolean getServiceThreadsActivationState()
TaskManager
getServiceThreadsActivationState
in interface TaskManager
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |