Defines a ManagedScheduledExecutorService
to be registered in JNDI by the container
under the JNDI name that is specified in the
name() attribute.
Application components can refer to this JNDI name in the
lookup attribute of a
jakarta.annotation.Resource annotation,
@ManagedScheduledExecutorDefinition(
name = "java:comp/concurrent/MyScheduledExecutor",
context = "java:comp/concurrent/MyScheduledExecutorContext",
hungTaskThreshold = 30000,
maxAsync = 3)
@ContextServiceDefinition(
name = "java:comp/concurrent/MyScheduledExecutorContext",
propagated = APPLICATION)
public class MyServlet extends HttpServlet {
@Resource(lookup = "java:comp/concurrent/MyScheduledExecutor",
name = "java:comp/concurrent/env/MyScheduledExecutorRef")
ManagedScheduledExecutorService myScheduledExecutor;
Resource environment references in a deployment descriptor
can similarly specify the lookup-name,
<resource-env-ref> <resource-env-ref-name>java:comp/env/concurrent/MyScheduledExecutorRef</resource-env-ref-name> <resource-env-ref-type>jakarta.enterprise.concurrent.ManagedScheduledExecutorService</resource-env-ref-type> <lookup-name>java:comp/concurrent/MyScheduledExecutor</lookup-name> </resource-env-ref>You can also define a
ManagedScheduledExecutorService with the
<managed-scheduled-executor> deployment descriptor element.
For example,
<managed-scheduled-executor> <name>java:module/concurrent/MyExecutor</name> <context-service-ref>java:module/concurrent/MyExecutorContext</context-service-ref> <hung-task-threshold>120000</hung-task-threshold> <max-async>5</max-async> </managed-scheduled-executor>If a
managed-scheduled-executor and ManagedScheduledExecutorDefinition
have the same name, their attributes are merged to define a single
ManagedScheduledExecutorService definition, with each attribute that is specified
in the managed-scheduled-executor deployment descriptor entry taking
precedence over the corresponding attribute of the annotation.
| Modifier and Type | Class and Description |
|---|---|
| public static @interface | ManagedScheduledExecutorDefinition.List
Enables multiple |
| Modifier and Type | Method and Description |
|---|---|
| public String | Returns: name of theContextService for
capturing and propagating or clearing context.The name of a |
| public long | Returns: number of milliseconds after which a task or action is considered hung.The amount of time in milliseconds that a task or action can execute before it is considered hung. |
| public int | Returns: upper limit on asynchronous execution.Upper bound on contextual tasks and actions that this executor will simultaneously execute asynchronously. |
| public String | Returns: ManagedScheduledExecutorService JNDI name.JNDI name of the |
| context | back to summary |
|---|---|
| public String context() The name of a
The name can be the name of a
The name of the
The default value,
| |
| hungTaskThreshold | back to summary |
|---|---|
| public long hungTaskThreshold() The amount of time in milliseconds that a task or action can execute before it is considered hung. The default value of
| |
| maxAsync | back to summary |
|---|---|
| public int maxAsync() Upper bound on contextual tasks and actions that this executor
will simultaneously execute asynchronously. This constraint does
not apply to tasks and actions that the executor runs inline,
such as when a thread requests
The default value of
| |
| name | back to summary |
|---|---|
| public String name() JNDI name of the
| |
ManagedScheduledExecutorDefinition
annotations on the same type.
| Modifier and Type | Method and Description |
|---|---|
| public ManagedScheduledExecutorDefinition[] |
| value | back to summary |
|---|---|
| public ManagedScheduledExecutorDefinition[] value() | |