アノテーション型 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: グローバル
- 戻り値:
ManagedThreadFactory
JNDI 名。
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_PRIORITY
SE です。- 戻り値:
- 新しいスレッドの優先度。
- デフォルト:
- 5