public interface ManagedTask
ManagedExecutorService
or
ManagedScheduledExecutorService
can optionally implement this
interface to provide identifying information about the task, to provide
a ManagedTaskListener
to get notification of lifecycle events of
the task, or to provide additional execution properties.
See also ManagedExecutors.managedTask()
.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
IDENTITY_NAME
Execution property to be returned in
getExecutionProperties() or
ContextService.createContextualProxy()
to provide a String that identifies the task. |
static java.lang.String |
LONGRUNNING_HINT
Execution property to be returned in
getExecutionProperties() or
ContextService.createContextualProxy()
to provide hint about whether the task could take a long time to complete. |
static java.lang.String |
SUSPEND
Constant for the "SUSPEND" value of the TRANSACTION execution property.
|
static java.lang.String |
TRANSACTION
Execution property to be returned in
getExecutionProperties() or
ContextService.createContextualProxy()
to inform the Java™ EE Product Provider under which transaction
should the task or proxy method of contextual proxy object be executed
in. |
static java.lang.String |
USE_TRANSACTION_OF_EXECUTION_THREAD
Constant for the "USE_TRANSACTION_OF_EXECUTION_THREAD" value of the
TRANSACTION execution property.
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<java.lang.String,java.lang.String> |
getExecutionProperties()
Provides additional information to the
ManagedExecutorService or
ManagedScheduledExecutorService when executing this task. |
ManagedTaskListener |
getManagedTaskListener()
The
ManagedTaskListener to receive notification of lifecycle
events of this task. |
static final java.lang.String LONGRUNNING_HINT
getExecutionProperties()
or
ContextService.createContextualProxy()
to provide hint about whether the task could take a long time to complete.
Java™ EE Product Providers may make use of this hint value to
decide how to allocate thread resource for running this task.
Valid values are "true" or "false".static final java.lang.String TRANSACTION
getExecutionProperties()
or
ContextService.createContextualProxy()
to inform the Java™ EE Product Provider under which transaction
should the task or proxy method of contextual proxy object be executed
in.
Valid values are:
"SUSPEND" (the default if unspecified) - Any transaction that is currently
active on the thread will be suspended and a
UserTransaction
(accessible in the local
JNDI namespace as "java:comp/UserTransaction") will be available. The
original transaction, if any was active on the thread, will be resumed
when the task or contextual proxy object method returns.
"USE_TRANSACTION_OF_EXECUTION_THREAD" - The contextual proxy object method
will run within the transaction (if any) of the execution thread. A
UserTransaction
will only be available if it is
also available in the execution thread (for example, when the proxy method
is invoked from a Servlet or Bean Managed Transaction EJB). When there is
no existing transaction on the execution thread, such as when running tasks
that are submitted to a ManagedExecutorService
or a
ManagedScheduledExecutorService
, a
UserTransaction
will be available.
static final java.lang.String SUSPEND
TRANSACTION
.static final java.lang.String USE_TRANSACTION_OF_EXECUTION_THREAD
TRANSACTION
.static final java.lang.String IDENTITY_NAME
getExecutionProperties()
or
ContextService.createContextualProxy()
to provide a String that identifies the task. It may be the name or ID that
allow management facilities to inspect the task to determine the intent
of the task and its state. Implementations should not depend upon
any thread execution context and should typically return only
readily-available instance data to identify the task.ManagedTaskListener getManagedTaskListener()
ManagedTaskListener
to receive notification of lifecycle
events of this task.ManagedTaskListener
to receive notification of
lifecycle events of this task, or null if it is not necessary to get
notified of such events.java.util.Map<java.lang.String,java.lang.String> getExecutionProperties()
ManagedExecutorService
or
ManagedScheduledExecutorService
when executing this task.Some standard property keys are defined in this class. Custom property keys may be defined but must not begin with "javax.enterprise.concurrent.".