Brooklyn

brooklyn.util.task
[Java] Class SingleThreadedScheduler

java.lang.Object
  brooklyn.util.task.SingleThreadedScheduler
All Implemented Interfaces:
CanSetName, TaskScheduler

public class SingleThreadedScheduler

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.


Method Summary
void injectExecutor(java.util.concurrent.ExecutorService executor)

void setName(java.lang.String name)

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

java.lang.String toString()

 
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

injectExecutor

public void injectExecutor(java.util.concurrent.ExecutorService executor)


setName

@Override
public void setName(java.lang.String name)


submit

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


toString

@Override
public java.lang.String toString()


 

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