|
Brooklyn | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbrooklyn.util.task.BasicTaskStub
brooklyn.util.task.BasicTask
public class BasicTask extends BasicTaskStub
The basic concrete implementation of a Task to be executed. A Task is a wrapper for an executable unit, such as a groovy.lang.Closure or a java.lang.Runnable or java.util.concurrent.Callable and will run in its own java.lang.Thread.
The task can be given an optional displayName and description in its constructor (as named arguments in the first java.util.Map parameter). It is guaranteed to have java.lang.Object#notify() called once whenever the task starts running and once again when the task is about to complete. Due to the way executors work it is ugly to guarantee notification after completion, so instead we notify just before then expect the user to call get() - which will throw errors if the underlying job did so - or blockUntilEnded() which will not throw errors.
Field Summary | |
---|---|
protected java.lang.String |
blockingDetails
|
java.lang.String |
description
|
java.lang.String |
displayName
|
protected ExecutionManager |
em
discouraged, but used in tests. not always set (e.g. if it is a scheduled task) |
protected long |
endTimeUtc
|
protected java.util.concurrent.Callable |
job
|
protected static Logger |
log
|
protected java.util.concurrent.Future |
result
|
protected long |
startTimeUtc
|
protected long |
submitTimeUtc
|
protected Task |
submittedByTask
|
protected java.util.Set |
tags
|
protected java.lang.Thread |
thread
|
Constructor Summary | |
protected BasicTask()
Constructor needed to prevent confusion in groovy stubs when looking for default constructor, |
|
protected BasicTask(java.util.Map flags)
|
|
BasicTask(java.util.concurrent.Callable job)
|
|
BasicTask(java.util.Map flags, java.util.concurrent.Callable job)
|
|
BasicTask(java.lang.Runnable job)
|
|
BasicTask(java.util.Map flags, java.lang.Runnable job)
|
|
BasicTask(groovy.lang.Closure job)
|
|
BasicTask(java.util.Map flags, groovy.lang.Closure job)
|
Method Summary | |
---|---|
void
|
blockUntilEnded()
|
void
|
blockUntilStarted()
|
boolean
|
cancel()
|
boolean
|
cancel(boolean mayInterruptIfRunning)
|
java.lang.Object
|
get()
|
java.lang.Object
|
get(long timeout, java.util.concurrent.TimeUnit unit)
|
protected java.lang.String
|
getActiveTaskStatusString(int verbosity)
|
java.lang.String
|
getBlockingDetails()
|
java.lang.String
|
getDescription()
|
java.lang.String
|
getDisplayName()
|
long
|
getEndTimeUtc()
|
java.lang.Object
|
getExtraStatusText()
|
java.util.concurrent.Future
|
getResult()
|
long
|
getStartTimeUtc()
|
java.lang.String
|
getStatusDetail(boolean multiline)
Returns detailed status, suitable for a hover |
protected java.lang.String
|
getStatusString(int verbosity)
This method is useful for callers to see the status of a task. |
java.lang.String
|
getStatusSummary()
Returns a brief status string |
long
|
getSubmitTimeUtc()
|
Task
|
getSubmittedByTask()
|
java.util.Set
|
getTags()
|
java.lang.Thread
|
getThread()
the thread where the task is running, if it is running |
boolean
|
isBegun()
|
boolean
|
isCancelled()
|
boolean
|
isDone()
|
boolean
|
isError()
Returns true if the task has had an error. |
boolean
|
isSubmitted()
|
protected java.lang.String
|
lookup(java.lang.management.LockInfo info)
|
void
|
setBlockingDetails(java.lang.String blockingDetails)
allows a task user to specify why a task is blocked; for use immediately before a blocking/wait, and typically cleared immediately afterwards; referenced by management api to inspect a task which is blocking |
void
|
setExtraStatusText(java.lang.Object extraStatus)
|
java.lang.String
|
toString()
|
Methods inherited from class BasicTaskStub | |
---|---|
equals, getId, hashCode, toString |
Field Detail |
---|
protected java.lang.String blockingDetails
public final java.lang.String description
public final java.lang.String displayName
@Deprecated protected ExecutionManager em
protected long endTimeUtc
protected java.util.concurrent.Callable job
protected static final Logger log
protected java.util.concurrent.Future result
protected long startTimeUtc
protected long submitTimeUtc
protected Task submittedByTask
protected final java.util.Set tags
protected java.lang.Thread thread
Constructor Detail |
---|
protected BasicTask()
protected BasicTask(java.util.Map flags)
public BasicTask(java.util.concurrent.Callable job)
public BasicTask(java.util.Map flags, java.util.concurrent.Callable job)
public BasicTask(java.lang.Runnable job)
public BasicTask(java.util.Map flags, java.lang.Runnable job)
public BasicTask(groovy.lang.Closure job)
public BasicTask(java.util.Map flags, groovy.lang.Closure job)
Method Detail |
---|
public void blockUntilEnded()
public void blockUntilStarted()
public boolean cancel()
public boolean cancel(boolean mayInterruptIfRunning)
public java.lang.Object get()
public java.lang.Object get(long timeout, java.util.concurrent.TimeUnit unit)
protected java.lang.String getActiveTaskStatusString(int verbosity)
public java.lang.String getBlockingDetails()
public java.lang.String getDescription()
public java.lang.String getDisplayName()
public long getEndTimeUtc()
public java.lang.Object getExtraStatusText()
public java.util.concurrent.Future getResult()
public long getStartTimeUtc()
public java.lang.String getStatusDetail(boolean multiline)
protected java.lang.String getStatusString(int verbosity)
verbosity
- 0 = brief, 1 = one-line with some detail, 2 = lots of detail
public java.lang.String getStatusSummary()
public long getSubmitTimeUtc()
public Task getSubmittedByTask()
public java.util.Set getTags()
public java.lang.Thread getThread()
public boolean isBegun()
public boolean isCancelled()
public boolean isDone()
public boolean isError()
public boolean isSubmitted()
protected java.lang.String lookup(java.lang.management.LockInfo info)
public void setBlockingDetails(java.lang.String blockingDetails)
public void setExtraStatusText(java.lang.Object extraStatus)
@Override public java.lang.String toString()
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.