アノテーション型 ManagedThreadFactoryDefinition
@RepeatableSE(List.class) @RetentionSE(RUNTIMESE) @TargetSE(TYPESE) public @interface ManagedThreadFactoryDefinition
name()属性で指定された JNDI 名でコンテナーによって JNDI に登録されるManagedThreadFactoryを定義します。アプリケーションコンポーネントは、
Resourceアノテーションのlookup属性でこの JNDI 名を参照できます。@ManagedThreadFactoryDefinition( name = "java:global/concurrent/MyThreadFactory", context = "java:global/concurrent/MyThreadFactoryContext", priority = 4) @ContextServiceDefinition( name = "java:global/concurrent/MyThreadFactoryContext", propagated = APPLICATION) public class MyServlet extends HttpServlet { @Resource(lookup = "java:global/concurrent/MyThreadFactory", name = "java:module/concurrent/env/MyThreadFactoryRef") ManagedThreadFactory myThreadFactory;デプロイ記述子のリソース環境参照は、同様に
lookup-nameを指定できます。<resource-env-ref> <resource-env-ref-name>java:module/env/concurrent/MyThreadFactoryRef</resource-env-ref-name> <resource-env-ref-type>jakarta.enterprise.concurrent.ManagedThreadFactory</resource-env-ref-type> <lookup-name>java:global/concurrent/MyThreadFactory</lookup-name> </resource-env-ref><managed-thread-factory>デプロイ記述子要素を使用してManagedThreadFactoryを定義することもできます。元:<managed-thread-factory> <name>java:global/concurrent/MyThreadFactory</name> <context-service-ref>java:global/concurrent/MyThreadFactoryContext</context-service-ref> <priority>4</priority> </managed-thread-factory>managed-thread-factoryとManagedThreadFactoryDefinitionが同じ名前の場合、それらの属性がマージされて単一のManagedThreadFactory定義が定義され、managed-thread-factoryデプロイ記述子エントリで指定された各属性が、対応するアノテーションの属性よりも優先されます。- 導入:
- 3.0
要素の詳細
name
StringSE name
ManagedThreadFactoryインスタンスの JNDI 名。JNDI 名は、次のような有効な Jakarta EE 名前空間にある必要があります。- java: コンプ
- java: モジュール
- java: アプリ
- java: グローバル
- 戻り値:
ManagedThreadFactoryJNDI 名。
context
StringSE context
このスレッドファクトリからスレッドにコンテキストを適用する方法を決定します。この名前は、
ContextServiceDefinitionの名前、context-serviceデプロイ記述子要素の名前、または Jakarta EE のデフォルトContextServiceインスタンスjava:comp/DefaultContextServiceの JNDI 名にすることができます。ContextServiceの名前は、このManagedThreadFactoryDefinitionの名前よりも詳細であってはなりません。例: このManagedThreadFactoryDefinitionの名前がjava:appにある場合、ContextServiceはjava:appまたはjava:globalにある可能性がありますが、どのモジュールのContextService定義を使用する必要があるかが曖昧になるjava:moduleにはありません。デフォルト値
java:comp/DefaultContextServiceは、Jakarta EE デフォルトContextServiceの JNDI 名です。- 戻り値:
- コンテキストをキャプチャーして伝播またはクリアするための指示。
- デフォルト:
- "java:comp/DefaultContextService"
priority
int priority
このスレッドファクトリによって作成されたスレッドの優先度。
デフォルトは
Thread.NORM_PRIORITYSE です。- 戻り値:
- 新しいスレッドの優先度。
- デフォルト:
- 5