16.3. jca サブシステムの設定

jca サブシステムは、Jakarta Connectors およびリソースアダプターデプロイメントの一般的な設定を制御します。管理コンソールまたは管理 CLI を使用して jca サブシステムを設定できます。

設定する主な jca サブシステム要素は次のとおりです。

管理コンソールでの jca の設定

管理コンソールで jca サブシステムを設定するには、ConfigurationSubsystemsJCA と選択し、表示 をクリックします。次に、該当するタブを選択します。

  • Configuration: キャッシュ接続マネージャー、アーカイブバリデーション、および Bean バリデーションの設定が含まれます。これらの項目は独自のタブに含まれます。設定を変更するには、タブを開き、Edit リンクをクリックします。
  • Bootstrap Context: 設定されたブートストラップコンテキストのリストが含まれます。新しいブートストラップコンテキストオブジェクトを追加、削除、および設定できます。各ブートストラップコンテキストをワークマネージャーに割り当てる必要があります。
  • Workmanager: 設定されたワークマネージャーのリストが含まれます。新しいワークマネージャーを追加および削除でき、スレッドプールをここで設定できます。各ワークマネージャーは短時間実行されるスレッドプールを 1 つ持つことができ、任意で長時間実行されるスレッドプールを 1 つ持つことができます。

    スレッドプール属性を設定するには、選択したワークマネージャーの Thread Pools をクリックします。

管理 CLI での jca システムの設定
/subsystem=jca アドレスから管理 CLI で jca サブシステムを設定できます。管理対象ドメインでは、コマンドの前に /profile=PROFILE_NAME を追加する必要があります。
注記

以下のセクションの表には、管理モデルで使用される属性名を示しています (管理 CLI を使用している場合など)。XML で使用される名前は管理モデルの名前と異なる場合があるため、XML で使用される要素を EAP_HOME/docs/schema/wildfly-jca_5_0.xsd のスキーマ定義ファイルで確認してください。

アーカイブバリデーション

デプロイメントユニットでアーカイブバリデーションを実行するかどうかを決定します。以下の表はアーカイブバリデーションに設定できる属性を表しています。

表16.1 アーカイブバリデーション属性

属性デフォルト値説明

enabled

true

アーカイブバリデーションが有効であるかどうかを指定します。

fail-on-error

true

アーカイブバリデーションのエラーレポートによってデプロイメントが失敗するかどうかを指定します

fail-on-warn

false

アーカイブバリデーションの警告レポートによってデプロイメントが失敗するかどうかを指定します。

アーカイブバリデーションが有効な状態で、アーカイブが Jakarta Connectors 仕様を正しく実装しない場合、デプロイメント中に問題を説明するエラーメッセージが表示されます。以下に例を示します。

Severity: ERROR
Section: 19.4.2
Description: A ResourceAdapter must implement a "public int hashCode()" method.
Code: com.mycompany.myproject.ResourceAdapterImpl

Severity: ERROR
Section: 19.4.2
Description: A ResourceAdapter must implement a "public boolean equals(Object)" method.
Code: com.mycompany.myproject.ResourceAdapterImpl

アーカイブバリデーションが指定されていない場合は、アーカイブバリデーションが指定されているとみなされ、enabled 属性のデフォルトが true に設定されます。

Bean バリデーション

この設定は、JSR-303 で定義されている Bean バリデーションがデプロイメントユニットで実行されるかどうかを決定します。以下の表は Bean バリデーションに設定できる属性について表しています。Bean バリデーションの Jakarta は Jakarta Bean Validation です。

表16.2 Bean バリデーションの属性

属性デフォルト値説明

enabled

true

Bean バリデーションが有効であるかどうかを指定します。

Bean バリデーションが指定されていない場合は、Bean バリデーションが指定されているとみなされ、enabled 属性のデフォルトが true に設定されます。

ワークマネージャー

ワークマネージャーには次の 2 種類があります。

デフォルトワークマネージャー
デフォルトのワークマネージャーおよびそのスレッドプール。
カスタムワークマネージャー
カスタムワークマネージャーの定義およびそのスレッドプール。

ワークマネージャーに設定できる属性は下表のとおりです。

表16.3 ワークマネージャーの属性

属性説明

name

ワークマネージャーの名前を指定します。

elytron-enabled

この属性は、workmanager の Elytron セキュリティーを有効にします。

ワークマネージャーには以下の子要素もあります。

表16.4 ワークマネージャーの子要素

子要素説明

short-running-threads

標準の Work インスタンスのスレッドプール。ワークマネージャーごとに短時間実行されるスレッドプールが 1 つあります。

long-running-threads

LONG_RUNNING ヒントを設定する Jakarta Connectors 1.7 Work インスタンスのスレッドプール。各ワークマネージャーはオプションの長期スレッドプールを 1 つ持てます。

ワークマネージャーのスレッドプールに設定できる属性は下表のとおりです。

表16.5 スレッドプールの属性

属性説明

allow-core-timeout

コアスレッドがタイムアウトするかどうかを決定するブール値の設定。デフォルト値は false です。

core-threads

コアスレッドプールのサイズ。スレッドプールの最大サイズ以下である必要があります。

handoff-executor

タスクが受け入れられない場合、タスクを委譲するエグゼキューター。指定されていない場合、受け入れられないタスクは警告なしに破棄されます。

keepalive-time

ワーク実行後にスレッドプールが保持される期間を指定します。

max-threads

スレッドプールの最大サイズ。

name

スレッドプールの名前を指定します。

queue-length

キューの最大長。

thread-factory

スレッドファクトリーへの参照。

分散ワークマネージャー

分散ワークマネージャーは、別のワークマネージャーインスタンスでワークの実行スケジュールを変更できるワークマネージャーです。

以下の管理 CLI コマンドの例は、分散ワークマネージャーを設定します。スタンドアロンサーバーの standalone-ha.xml または standalone-full-ha.xml 設定ファイルなど、高可用性を提供する設定を使用する必要があることに注意してください。

例: 分散ワークマネージャーの設定

batch
/subsystem=jca/distributed-workmanager=myDistWorkMgr:add(name=myDistWorkMgr)
/subsystem=jca/distributed-workmanager=myDistWorkMgr/short-running-threads=myDistWorkMgr:add(queue-length=10,max-threads=10)
/subsystem=jca/bootstrap-context=myCustomContext:add(name=myCustomContext,workmanager=myDistWorkMgr)
run-batch

注記

short-running-threads 要素の名前は distributed-workmanager 要素の名前と同じである必要があります。

以下の表は、分散ワークマネージャーに設定できる属性を表しています。

表16.6 分散ワークマネージャーの属性

属性説明

elytron-enabled

ワークマネージャーの Elytron セキュリティーを有効にします。

name

分散ワークマネージャーの名前。

policy

ワークインスタンスをいつ再分散するかを決定します。使用できる値は次のとおりです。

  • NEVER - ワークインスタンスを別のノードに分散しません。
  • ALWAYS - 常にワークインスタンスを別のノードに分散します。
  • WATERMARK - 現在のノードで使用できる空きのワーカースレッドの数に応じてワーカーインスタンスを別のノードに分散します。

policy-options

ポリシーのキーバリューペアのオプションリスト。WATERMARK ポリシーを使用する場合、watermark ポリシーオプションを使用して、ワークが分散される空きスレッドの数を指定します。以下に例を示します。

/subsystem=jca/distributed-workmanager=myDistWorkMgr:write-attribute(name=policy-options,value={watermark=3})

selector

ワークインスタンスを再分散するネットワークのノードを決定します。使用できる値は次のとおりです。

  • FIRST_AVAILABLE - リストの最初に利用できるノードを選択します。
  • PING_TIME - ping の時間が最も短いノードを選択します。
  • MAX_FREE_THREADS - 空きワーカースレッドの数が最も多いノードを選択します。

selector-options

セレクターのキーバリューペアのオプションリスト。

分散ワークマネージャーには以下の子要素もあります。

表16.7 分散ワークマネージャーの子要素

子要素説明

long-running-threads

LONG_RUNNING ヒントを設定するワークインスタンスのスレッドプール。各分散ワークマネージャーはオプションで長時間実行スレッドプールを持つことができます。

short-running-threads

標準ワークインスタンスのスレッドプール。各分散ワークマネージャーには短期間実行スレッドプールがある必要があります。

ブートストラップコンテキスト

カスタムのブートストラップコンテキストを定義するために使用されます。以下の表は、ブートストラップコンテキストに設定できる属性を表しています。

表16.8 ブートストラップコンテキストの属性

属性説明

name

ブートストラップコンテキストの名前を指定します。

workmanager

このコンテキストに使用するワークマネージャーの名前を指定します。

キャッシュ接続マネージャー

トランザクションの接続における接続のデバッグおよび Lazy Enlistment のサポートに使用され、アプリケーションによって使用およびリリースされるかどうかを追跡します。以下の表はキャッシュ接続マネージャーに設定できる属性を表しています。

表16.9 キャッシュ接続マネージャーの属性

属性デフォルト値説明

debug

false

接続を明示的に閉じるため、障害時に警告を出力します。

error

false

接続を明示的に閉じるため、障害時に例外が発生します。

ignore-unknown-connections

false

未知の接続はキャッシュされないことを指定します。

install

false

キャッシュされた接続マネージャーバルブおよびインターセプターを有効または無効にします。