Brooklyn

brooklyn.util.task
[Groovy] Class SingleThreadedExecution

java.lang.Object
  brooklyn.util.task.SingleThreadedExecution
All Implemented Interfaces:
TaskPreprocessor

@Deprecated // use SingleThreadedScheduler; FIXME delete this class when we're definitely happy with SingleThreadedScheduler
class SingleThreadedExecution

Instances of this class ensures that Tasks it is shown execute with in-order single-threaded semantics. Tasks can be presented through onSubmit(Map), onStart(Map), and onEnd(Map) (but not necessarily all in the same thread). The order is that in which it is submitted.

This implementation does so by blocking on a java.util.concurrent.ConcurrentLinkedQueue, after the task is started in a thread (and Task#isStarted()#isStarted() returns true), but (of course) before the Task#job#job actually gets invoked.

deprecated:
in 0.4.0, use SingleThreadedScheduler


Property Summary
java.util.concurrent.atomic.AtomicBoolean executing

ExecutionManager manager

java.util.Queue order

java.lang.Object tag

 
Method Summary
void injectManager(ExecutionManager manager)

void injectTag(java.lang.Object tag)

void onEnd(java.util.Map flags = [:], Task task)

void onStart(java.util.Map flags = [:], Task task)

void onSubmit(java.util.Map flags = [:], Task task)

 
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()
 

Property Detail

executing

java.util.concurrent.atomic.AtomicBoolean executing


manager

ExecutionManager manager


order

java.util.Queue order


tag

java.lang.Object tag


 
Method Detail

injectManager

void injectManager(ExecutionManager manager)


injectTag

void injectTag(java.lang.Object tag)


onEnd

void onEnd(java.util.Map flags = [:], Task task)


onStart

void onStart(java.util.Map flags = [:], Task task)


onSubmit

void onSubmit(java.util.Map flags = [:], Task task)


 

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