7.22. コンテキストタイプを使用した ContextService のカスタマイズ

Jakarta EE Concurrency 3.0 の一部として、コンテキストタイプを使用して ContextService プロパティーをカスタマイズできます。トランザクションコンテキストはそのようなタイプの 1 つです。トランザクションコンテキストは、use-transaction-setup-provider リソース定義属性の使用を置き換えます。use-transaction-setup-provider 属性が true に設定されている場合、トランザクションコンテキストはクリアされ、この属性が false に設定されている場合は、トランザクションコンテキストは変更されません。

Red Hat はベンダー固有の設定をサポートしなくなったため、そのような resource-definition 属性は非推奨になりました。JBoss EAP 7 では、デフォルト設定で use-transaction-setup-provider 属性が false と定義されていました。これは、コンテキストタスクがスレッド上で実行されたときにトランザクションコンテキストが変更されなかったことを意味します。デフォルトでは、JBoss EAP 8 では、デフォルトの ContextService プロパティーが Jakarta EE Concurrency 3.0 仕様に準拠しており、コンテキストタスクが実行される前にトランザクションコンテキストをクリアします。

別の ContextService を使用するには、ContextServiceDefinition アノテーションを使用するか、XML でこれを指定して、デプロイメントで定義する必要があります。