-
public interface ManagedTask
A task submitted to anManagedExecutorService
orManagedScheduledExecutorService
can optionally implement this interface to provide identifying information about the task, to provide aManagedTaskListener
to get notification of lifecycle events of the task, or to provide additional execution properties.See also
ManagedExecutors.managedTask()
.- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description static String
IDENTITY_NAME
Execution property to be returned ingetExecutionProperties()
orContextService.createContextualProxy()
to provide a String that identifies the task.static String
LONGRUNNING_HINT
Execution property to be returned ingetExecutionProperties()
orContextService.createContextualProxy()
to provide hint about whether the task could take a long time to complete.static String
SUSPEND
Constant for the "SUSPEND" value of the TRANSACTION execution property.static String
TRANSACTION
Execution property to be returned ingetExecutionProperties()
orContextService.createContextualProxy()
to inform the Jakarta EE Product Provider under which transaction should the task or proxy method of contextual proxy object be executed in.static String
USE_TRANSACTION_OF_EXECUTION_THREAD
Constant for the "USE_TRANSACTION_OF_EXECUTION_THREAD" value of the TRANSACTION execution property.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Map<String,String>
getExecutionProperties()
Provides additional information to theManagedExecutorService
orManagedScheduledExecutorService
when executing this task.ManagedTaskListener
getManagedTaskListener()
TheManagedTaskListener
to receive notification of lifecycle events of this task.
-
-
-
Field Detail
-
LONGRUNNING_HINT
static final String LONGRUNNING_HINT
Execution property to be returned ingetExecutionProperties()
orContextService.createContextualProxy()
to provide hint about whether the task could take a long time to complete. Jakarta™ 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".- See Also:
- Constant Field Values
-
TRANSACTION
static final String TRANSACTION
Execution property to be returned ingetExecutionProperties()
orContextService.createContextualProxy()
to inform the Jakarta 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
jakarta.transaction.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
jakarta.transaction.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). When there is no existing transaction on the execution thread, such as when running tasks that are submitted to aManagedExecutorService
or aManagedScheduledExecutorService
, ajakarta.transaction.UserTransaction
will be available.- See Also:
- Constant Field Values
-
SUSPEND
static final String SUSPEND
Constant for the "SUSPEND" value of the TRANSACTION execution property. SeeTRANSACTION
.- See Also:
- Constant Field Values
-
USE_TRANSACTION_OF_EXECUTION_THREAD
static final String USE_TRANSACTION_OF_EXECUTION_THREAD
Constant for the "USE_TRANSACTION_OF_EXECUTION_THREAD" value of the TRANSACTION execution property. SeeTRANSACTION
.- See Also:
- Constant Field Values
-
IDENTITY_NAME
static final String IDENTITY_NAME
Execution property to be returned ingetExecutionProperties()
orContextService.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.- See Also:
- Constant Field Values
-
-
Method Detail
-
getManagedTaskListener
ManagedTaskListener getManagedTaskListener()
TheManagedTaskListener
to receive notification of lifecycle events of this task.- Returns:
- The
ManagedTaskListener
to receive notification of lifecycle events of this task, or null if it is not necessary to get notified of such events.
-
getExecutionProperties
Map<String,String> getExecutionProperties()
Provides additional information to theManagedExecutorService
orManagedScheduledExecutorService
when executing this task.Some standard property keys are defined in this class. Custom property keys may be defined but must not begin with "jakarta.enterprise.concurrent.".
- Returns:
- A Map<String, String> containing additional execution properties, or null if no additional information is provided for this task.
-
-