Brooklyn

brooklyn.util.task
[Java] Class BasicExecutionManager

java.lang.Object
  brooklyn.util.task.BasicExecutionManager
All Implemented Interfaces:
ExecutionManager

public class BasicExecutionManager

TODO javadoc


Method Summary
java.lang.Object BasicExecutionManager(java.lang.String contextid)

void addListener(ExecutionListener listener)

protected void afterEnd(java.util.Map flags, Task task)

protected void beforeStart(java.util.Map flags, Task task)

protected void beforeSubmit(java.util.Map flags, Task task)

boolean clearTaskPreprocessorForTag(java.lang.Object tag)

Forgets that any preprocessor was associated with a tag.

boolean clearTaskSchedulerForTag(java.lang.Object tag)

Forgets that any scheduler was associated with a tag.

void deleteTag(java.lang.Object tag)

Deletes the given tag, including all tasks using this tag.

void deleteTask(Task task)

static Task getCurrentTask()

@deprecated in 0.4.0, use Tasks.current()

long getNumActiveTasks()

long getNumInMemoryTasks()

long getNumIncompleteTasks()

static java.lang.ThreadLocal getPerThreadCurrentTask()

Task getTask(java.lang.String id)

TaskPreprocessor getTaskPreprocessorForTag(java.lang.Object tag)

Returns TaskPreprocessor defined for tasks with the given tag, or null if none.

TaskScheduler getTaskSchedulerForTag(java.lang.Object tag)

java.util.Set getTaskTags()

java.util.Set getTasksWithAllTags(java.lang.Iterable tags)

java.util.Set getTasksWithAnyTag(java.lang.Iterable tags)

java.util.Set getTasksWithTag(java.lang.Object tag)

long getTotalTasksSubmitted()

boolean isShutdown()

protected java.util.concurrent.ThreadFactory newThreadFactory(java.lang.String contextid)

For use by overriders to use custom thread factory.

void removeListener(ExecutionListener listener)

Task scheduleWith(Task task)

Task scheduleWith(java.util.Map flags, Task task)

static void setBlockingDetails(java.lang.String description)

convenience for setting "blocking details" on any task where the current thread is running; typically invoked prior to a wait, for transparency to a user; then invoked with 'null' just after the wait

void setTaskPreprocessorForTag(java.lang.Object tag, java.lang.Class preprocessor)

@see #setTaskPreprocessorForTag(Object, TaskPreprocessor)

void setTaskPreprocessorForTag(java.lang.Object tag, TaskPreprocessor preprocessor)

Defines a TaskPreprocessor to run on all subsequently submitted jobs with the given tag.

void setTaskSchedulerForTag(java.lang.Object tag, java.lang.Class scheduler)

void setTaskSchedulerForTag(java.lang.Object tag, TaskScheduler scheduler)

Defines a TaskScheduler to run on all subsequently submitted jobs with the given tag.

void shutdownNow()

Task submit(java.lang.Runnable r)

Task submit(java.util.Map flags, java.lang.Runnable r)

Task submit(java.util.concurrent.Callable c)

Task submit(java.util.Map flags, java.util.concurrent.Callable c)

Task submit(Task t)

Task submit(java.util.Map flags, Task task)

Task submit(java.util.Map flags, java.lang.Object c)

protected Task submitNewScheduledTask(java.util.Map flags, ScheduledTask task)

protected Task submitNewTask(java.util.Map flags, Task task)

static java.lang.Object withBlockingDetails(java.lang.String description, java.util.concurrent.Callable code)

convenience for setting "blocking details" on any task where the current thread is running, while the passed code is executed; often used from groovy as

withBlockingDetails("sleeping 5s") { Thread.sleep(5000);  }

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Method Detail

BasicExecutionManager

public java.lang.Object BasicExecutionManager(java.lang.String contextid)


addListener

public void addListener(ExecutionListener listener)


afterEnd

@SuppressWarnings("deprecation")
protected void afterEnd(java.util.Map flags, Task task)


beforeStart

@SuppressWarnings("deprecation")
protected void beforeStart(java.util.Map flags, Task task)


beforeSubmit

@SuppressWarnings("deprecation")
protected void beforeSubmit(java.util.Map flags, Task task)


clearTaskPreprocessorForTag

public boolean clearTaskPreprocessorForTag(java.lang.Object tag)
Forgets that any preprocessor was associated with a tag.
See Also:
setTaskPreprocessorForTag(Object, TaskPreprocessor)
setTaskPreprocessorForTag(Object, Class)


clearTaskSchedulerForTag

public boolean clearTaskSchedulerForTag(java.lang.Object tag)
Forgets that any scheduler was associated with a tag.
See Also:
setTaskSchedulerForTag(Object, TaskScheduler)
setTaskSchedulerForTag(Object, Class)


deleteTag

public void deleteTag(java.lang.Object tag)
Deletes the given tag, including all tasks using this tag. Useful, for example, if an entity is being expunged so that we don't keep holiding a reference to it as a tag.


deleteTask

public void deleteTask(Task task)


getCurrentTask

public static Task getCurrentTask()
deprecated:
in 0.4.0, use Tasks.current()


getNumActiveTasks

public long getNumActiveTasks()


getNumInMemoryTasks

public long getNumInMemoryTasks()


getNumIncompleteTasks

public long getNumIncompleteTasks()


getPerThreadCurrentTask

public static java.lang.ThreadLocal getPerThreadCurrentTask()


getTask

@Override
public Task getTask(java.lang.String id)


getTaskPreprocessorForTag

@Deprecated
public TaskPreprocessor getTaskPreprocessorForTag(java.lang.Object tag)
Returns TaskPreprocessor defined for tasks with the given tag, or null if none.


getTaskSchedulerForTag

public TaskScheduler getTaskSchedulerForTag(java.lang.Object tag)


getTaskTags

public java.util.Set getTaskTags()


getTasksWithAllTags

@Override
public java.util.Set getTasksWithAllTags(java.lang.Iterable tags)


getTasksWithAnyTag

@Override
public java.util.Set getTasksWithAnyTag(java.lang.Iterable tags)


getTasksWithTag

@Override
public java.util.Set getTasksWithTag(java.lang.Object tag)


getTotalTasksSubmitted

public long getTotalTasksSubmitted()


isShutdown

public boolean isShutdown()


newThreadFactory

protected java.util.concurrent.ThreadFactory newThreadFactory(java.lang.String contextid)
For use by overriders to use custom thread factory. But be extremely careful: called by constructor, so before sub-class' constructor will have been invoked!


removeListener

public void removeListener(ExecutionListener listener)


scheduleWith

public Task scheduleWith(Task task)


scheduleWith

public Task scheduleWith(java.util.Map flags, Task task)


setBlockingDetails

public static void setBlockingDetails(java.lang.String description)
convenience for setting "blocking details" on any task where the current thread is running; typically invoked prior to a wait, for transparency to a user; then invoked with 'null' just after the wait
deprecated:
in 0.4.0, use Tasks.setBlockingDetails


setTaskPreprocessorForTag

@SuppressWarnings("deprecation")
public void setTaskPreprocessorForTag(java.lang.Object tag, java.lang.Class preprocessor)
See Also:
setTaskPreprocessorForTag(Object, TaskPreprocessor)


setTaskPreprocessorForTag

@SuppressWarnings("deprecation")
public void setTaskPreprocessorForTag(java.lang.Object tag, TaskPreprocessor preprocessor)
Defines a TaskPreprocessor to run on all subsequently submitted jobs with the given tag. Maximum of one allowed currently. Resubmissions of the same preprocessor (or preprocessor class) allowed. If changing, you must call clearTaskPreprocessorForTag(Object) between the two.
See Also:
setTaskPreprocessorForTag(Object, Class)


setTaskSchedulerForTag

public void setTaskSchedulerForTag(java.lang.Object tag, java.lang.Class scheduler)


setTaskSchedulerForTag

public void setTaskSchedulerForTag(java.lang.Object tag, TaskScheduler scheduler)
Defines a TaskScheduler to run on all subsequently submitted jobs with the given tag. Maximum of one allowed currently. Resubmissions of the same scheduler (or scheduler class) allowed. If changing, you must call clearTaskSchedulerForTag(Object) between the two.
See Also:
setTaskSchedulerForTag(Object, Class)


shutdownNow

public void shutdownNow()


submit

public Task submit(java.lang.Runnable r)


submit

public Task submit(java.util.Map flags, java.lang.Runnable r)


submit

public Task submit(java.util.concurrent.Callable c)


submit

public Task submit(java.util.Map flags, java.util.concurrent.Callable c)


submit

public Task submit(Task t)


submit

public Task submit(java.util.Map flags, Task task)


submit

public Task submit(java.util.Map flags, java.lang.Object c)


submitNewScheduledTask

protected Task submitNewScheduledTask(java.util.Map flags, ScheduledTask task)


submitNewTask

protected Task submitNewTask(java.util.Map flags, Task task)


withBlockingDetails

public static java.lang.Object withBlockingDetails(java.lang.String description, java.util.concurrent.Callable code)
convenience for setting "blocking details" on any task where the current thread is running, while the passed code is executed; often used from groovy as
withBlockingDetails("sleeping 5s") { Thread.sleep(5000);  }
deprecated:
in 0.4.0, use Tasks.withBlockingDetails


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.