検索

第9章 コンカレンシーユーティリティー

download PDF

コンカレンシーユーティリティーは、Java SE Concurrency Utilities を Java EE アプリケーション環境仕様で使用できるようにする API です。これは、「JSR 236: Concurrency Utilities for Java™ EE」で定義されています。JBoss EAP では、EE コンカレンシーユーティリティーのインスタンスの作成、編集、および削除を行えます。そのため、使用するアプリケーションにインスタンスをすぐに利用できるようにできます。

コンカレンシーユーティリティーを使用すると、既存のコンテキストのアプリケーションスレッドをプルし、独自のスレッドで使用することにより、呼び出しコンテキストを拡張できるようになります。呼び出しコンテキストのこの拡張には、デフォルトでクラスローディング、JNDI、およびセキュリティーコンテキストが含まれます。

コンカレンシーユーティリティーのタイプには以下のものが含まれます。

  • コンテキストサービス
  • 管理対象スレッドファクトリー
  • 管理対象エグゼキューターサービス
  • 管理対象スケジュール済みエグゼキューターサービス

例: standalone.xml のコンカレンシーユーティリティー

<subsystem xmlns="urn:jboss:domain:ee:4.0">
            <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
            <concurrent>
                <context-services>
                    <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                </context-services>
                <managed-thread-factories>
                    <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                </managed-thread-factories>
                <managed-executor-services>
                    <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" keepalive-time="5000"/>
                </managed-executor-services>
                <managed-scheduled-executor-services>
                    <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" keepalive-time="3000"/>
                </managed-scheduled-executor-services>
            </concurrent>
            <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
</subsystem>

9.1. コンテキストサービス

コンテキストサービス (javax.enterprise.concurrent.ContextService) を使用すると、既存のオブジェクトからコンテキストプロキシーをビルドできます。コンテキストプロキシーにより、コンテキストが作成または呼び出されたとき (呼び出しが元のオブジェクトに転送される前) に他のコンカレンシーユーティリティーによって使用される呼び出しコンテキストが準備されます。

コンテキストサービスコンカレンシーユーティリティーの属性には以下のものが含まれます。

  • name: すべてのコンテキストサービス内の一意の名前。
  • jndi-name: JNDI でコンテキストサービスを配置する場所を定義します。
  • use-transaction-setup-provider: 任意。プロキシーオブジェクトを呼び出す場合に、コンテキストサービスによってビルドされたコンテキストプロキシーがコンテキストでトランザクションを一時停止するかどうかを示します。デフォルト値は false ですが、デフォルトのコンテキストサービスの値は true です。

コンテキストサービスコンカレンシーユーティリティーの使用方法は、上記の例を参照してください。

例: 新しいコンテキストサービスの追加

/subsystem=ee/context-service=newContextService:add(jndi-name=java:jboss/ee/concurrency/contextservice/newContextService)

例: コンテキストサービスの変更

/subsystem=ee/context-service=newContextService:write-attribute(name=jndi-name, value=java:jboss/ee/concurrency/contextservice/changedContextService)

この操作にはリロードが必要です。

例: コンテキストサービスの削除

/subsystem=ee/context-service=newContextService:remove()

この操作にはリロードが必要です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.