Menu Close
8.7. 複数の JBoss EAP バージョンの管理
最新バージョンの JBoss EAP は、以前のバージョンの JBoss EAP を実行するサーバーおよびホストを管理できます。管理する JBoss EAP のバージョンに該当する項を参照してください。
8.7.1. JBoss EAP 6 インスタンスを管理するよう JBoss EAP 7.x ドメインコントローラーを設定
JBoss EAP 7.1 ドメインコントローラーは、実行している JBoss EAP 6 のバージョンが JBoss EAP 6.2 以上のホストおよびサーバーを管理できます。
JBoss EAP 7.0 ドメインコントローラーが異なるパッチリリースの JBoss EAP 7.0 ホストを管理する場合は、設定を変更する必要はありません。しかし、JBoss EAP 7.0 ドメインコントローラーは、管理するホストコントローラーと同じパッチリリースバージョンまたはそれ以降のバージョンを実行している必要があります。
JBoss EAP 7 の管理対象ドメインで JBoss EAP 6 インスタンスを正常に管理するには、以下の作業を行います。
これらの作業が終了したら、管理 CLI を使用して JBoss EAP 7 ドメインコントローラーから JBoss EAP 6 サーバーおよび設定を管理できます。JBoss EAP 6 ホストは、バッチ処理などの JBoss EAP 7 の新機能を利用できないことに注意してください。
管理コンソールは、最新バージョンの JBoss EAP に対して最適化されているため、管理コンソールを使用して JBoss EAP 6 のホスト、サーバー、およびプロファイルを更新しないでください。JBoss EAP 7 の管理対象ドメインから JBoss EAP 6 の設定を管理する場合は、代わりに 管理 CLI を使用してください。
8.7.1.1. Boss EAP 6 の設定を JBoss EAP 7 ドメインコントローラーに追加
ドメインコントローラーが JBoss EAP 6 サーバーを管理できるようにするには、JBoss EAP 7 のドメイン設定に JBoss EAP 6 の設定詳細を提供する必要があります。これには、JBoss EAP 6 のプロファイル、ソケットバインディンググループ、およびサーバーグループを JBoss EAP 7 の domain.xml
設定ファイルにコピーします。
JBoss EAP 7 の設定と名前が競合する場合は、リソースの名前を変更する必要があります。さらに、正しく動作するようにするため、追加の調整を行う必要もあります。
以下の手順では、JBoss EAP 6 の default
プロファイル、standard-sockets
ソケットバインディンググループ、および main-server-group
サーバーグループが使用されます。
-
JBoss EAP 7 の
domain.xml
設定ファイルを編集します。このファイルをバックアップしてから編集することが推奨されます。 該当する JBoss EAP 6 のプロファイルを JBoss EAP 7 の
domain.xml
ファイルにコピーします。この手順では、JBoss EAP 6 の
default
プロファイルをコピーし、名前をeap6-default
に変更したことを仮定します。JBoss EAP 7 の
domain.xml
<profiles> ... <profile name="eap6-default"> ... </profile> </profiles>
このプロファイルによって使用される必要なエクステンションを追加します。
JBoss EAP 6 のプロファイルが JBoss EAP 7 には存在しないサブシステムを使用する場合は、JBoss EAP ドメイン設定に適切なエクステンションを追加する必要があります。
JBoss EAP 7 の
domain.xml
<extensions> ... <extension module="org.jboss.as.configadmin"/> <extension module="org.jboss.as.threads"/> <extension module="org.jboss.as.web"/> <extensions>
該当する JBoss EAP 6 のソケットバインディンググループを JBoss EAP 7 の
domain.xml
ファイルにコピーします。この手順では、JBoss EAP 6 の
standard-sockets
ソケットバインディンググループをコピーし、名前をeap6-standard-sockets
に変更したことを仮定します。JBoss EAP 7 の
domain.xml
<socket-binding-groups> ... <socket-binding-group name="eap6-standard-sockets" default-interface="public"> ... </socket-binding-group> </socket-binding-groups>
該当する JBoss EAP 6 のサーバーグループを JBoss EAP 7 の
domain.xml
ファイルにコピーします。この手順では、JBoss EAP 6 の
main-server-group
サーバーグループをコピーし、名前をeap6-main-server-group
に変更したことを仮定します。また、このサーバーグループを更新して、JBoss EAP 6 のプロファイルeap6-default
と JBoss EAP 6 のソケットバインディンググループeap6-standard-sockets
を使用するようにする必要があります。JBoss EAP 7 の
domain.xml
<server-groups> ... <server-group name="eap6-main-server-group" profile="eap6-default"> ... <socket-binding-group ref="eap6-standard-sockets"/> </server-group> </server-groups>
8.7.1.2. JBoss EAP 6 プロファイルの動作の更新
JBoss EAP のバージョンや必要な動作に応じて、JBoss EAP 6 インスタンスによって使用されるプロファイルを追加更新する必要があります。既存の JBoss EAP 6 インスタンスが使用するサブシステムや設定に応じて、追加の変更が必要になる場合があります。
JBoss EAP 7 ドメインコントローラーを起動して管理 CLI を起動し、以下の更新を実行します。これらの例では、JBoss EAP 6 のプロファイルが eap6-default
であることを仮定します。
bean-validation
サブシステムを削除します。JBoss EAP 7 では、bean バリデーション機能が
ee
サブシステムから独自のbean-validation
サブシステムに移されました。JBoss EAP 7 ドメインコントローラーがレガシーのee
サブシステムを発見した場合、新しいbean-validation
サブシステムを追加します。しかし、JBoss EAP 6 のホストはこのサブシステムを認識しないため、削除する必要があります。JBoss EAP 7 のドメインコントローラー CLI
/profile=eap6-default/subsystem=bean-validation:remove
CDI 1.0 の挙動を設定します。
これは、JBoss EAP 6 サーバーに JBoss EAP 7 で使用されるより新しいバージョンの CDI の挙動ではなく、CDI 1.0 の挙動を適用する場合のみ必要です。CDI 1.0 の挙動を提供する場合は、
weld
サブシステムに以下の更新を追加します。JBoss EAP 7 のドメインコントローラー CLI
/profile=eap6-default/subsystem=weld:write-attribute(name=require-bean-descriptor,value=true) /profile=eap6-default/subsystem=weld:write-attribute(name=non-portable-mode,value=true)
JBoss EAP 6.2 のデータソース統計を有効にします。
これは、プロファイルが JBoss EAP 6.2 サーバーによって使用される場合のみ必要です。JBoss EAP 6.3 には
statistics-enabled
属性が導入され、デフォルトでは統計を収集しないfalse
に設定されます。しかし、JBoss EAP 6.2 では統計を収集しました。このプロファイルが JBoss EAP 6.2 のホストとそれ以降のバージョンのJBoss EAP を実行するホストによって使用される場合、ホストによって動作が異なることになり、これは許可されません。そのため、JBoss EAP 6.2 ホスト向けのプロファイルは、データソースに以下の変更を追加する必要があります。JBoss EAP 7 のドメインコントローラー CLI
/profile=eap6-default/subsystem=datasources/data-source=ExampleDS:write-attribute(name=statistics-enabled,value=true)
8.7.1.3. JBoss EAP 6 サーバーのサーバーグループの設定
サーバーグループの名前を変更した場合は、JBoss EAP 6 のホスト設定を更新し、JBoss EAP 7 の設定に指定された新しいサーバーグループを使用する必要があります。この例では、JBoss EAP 7 の domain.xml
に指定された eap6-main-server-group
サーバーグループを使用します。
JBoss EAP 6 の host-slave.xml
<servers> <server name="server-one" group="eap6-main-server-group"/> <server name="server-two" group="eap6-main-server-group"> <socket-bindings port-offset="150"/> </server> </servers>
ホストは、実行している JBoss EAP よりも新しいバージョンで導入された機能や設定を使用できません。
8.7.1.4. JBoss EAP 6 インスタンスが JBoss EAP 7 の更新を取得しないようにする
管理対象ドメインのドメインコントローラーは、設定の更新をホストコントローラーに転送します。host-exclude
設定を使用して、特定のバージョンが認識できないようにするリソースを指定する必要があります。事前設定された host-exclude
のオプションは EAP62
、EAP63
、EAP64
、および EAP64z
です。 ご使用の JBoss EAP 6 のバージョンに該当するものを選択します。
host-exclude
設定の active-server-groups
属性は、特定のバージョンによって使用されるサーバーグループのリストを指定します。指定のバージョンのホストは、指定されたサーバーグループとそれらに関連するプロファイル、ソケットバインディンググループ、およびデプロイメントリソースを利用できますが、それ以外は認識しません。
以下の例では、JBoss EAP のバージョンが 6.4.z であることを仮定し、JBoss EAP 6 のサーバーグループ eap6-main-server-group
をアクティブなサーバーグループとして追加します。
JBoss EAP 7 のドメインコントローラー CLI
/host-exclude=EAP64z:write-attribute(name=active-server-groups,value=[eap6-main-server-group])
必要な場合は、active-socket-binding-groups
属性を使用して、サーバーによって使用される追加のソケットバインディンググループを指定します。これは、active-server-groups
に指定されたサーバーグループと関連していないソケットバインディンググループのみに必要です。