8.7. Managing JBoss EAP 7.4 バージョン

最新バージョンの JBoss EAP は、以前のバージョンの JBoss EAP を実行するサーバーおよびホストを管理できます。JBoss EAP の最新バージョンの管理については、以下のセクションを参照してください。

注記

Red Hat では、JBoss EAP 6.x を実行するホストとサーバーを管理する JBoss EAP 7.4 ドメインコントローラーを非推奨にしました。この非推奨のサポート機能は、JBoss EAP の次のメジャーリリースであるバージョン 8.0 で完全に削除されます。JBoss EAP 8.0 は、JBoss EAP 7.4 で実行されているホストとサーバーのみをサポートします。

8.7.1. JBoss EAP 6 インスタンスを管理するよう JBoss EAP 7.x ドメインコントローラーを設定

ホストとサーバーが JBoss EAP 6.2 以降を実行している場合、JBoss EAP 7.4 ドメインコントローラーは、JBoss EAP 6 を実行しているホストとサーバーを管理できます。

注記

JBoss EAP 7.0 ドメインコントローラーが異なるパッチリリースの 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 サーバーグループが使用されます。

  1. JBoss EAP 7 の domain.xml 設定ファイルを編集します。このファイルをバックアップしてから編集することが推奨されます。
  2. 該当する 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>

  3. このプロファイルによって使用される必要なエクステンションを追加します。

    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>

  4. 該当する 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>

  5. 該当する 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 のオプションは EAP62EAP63EAP64、および 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 に指定されたサーバーグループと関連していないソケットバインディンググループのみに必要です。

8.7.2. JBoss EAP の以前のマイナーリリースを管理するよう JBoss EAP 7.4 ドメインコントローラーを設定

JBoss EAP 7.4 ドメインコントローラーは、以前の JBoss EAP のマイナーリリースからの実行中のホストおよびサーバーを管理できます。

JBoss EAP 7.4 の管理対象ドメインで JBoss EAP 7.3 インスタンスを正常に管理するには、以下の作業を行います。

これらの作業の完了後に、管理 CLI を使用して JBoss EAP 7.4 ドメインコントローラーから JBoss EAP 7.3 サーバーおよび設定を管理できます。

警告

管理コンソールは最新バージョンの JBoss EAP に対して最適化されているため、CLI を使用して JBoss EAP 7.4 のマネージドドメインから JBoss EAP 7.3 の設定を管理する必要があります。管理コンソールを使用して JBoss EAP 7.3 ホスト、サーバー、およびプロファイルを更新しないでください。

8.7.2.1. Boss EAP 7.3 の設定を JBoss EAP 7.4 ドメインコントローラーに追加

ドメインコントローラーが JBoss EAP 7.3 サーバーを管理できるようにするには、JBoss EAP 7.4 のドメイン設定に JBoss EAP 7.3 の設定詳細を提供する必要があります。これには、JBoss EAP 7.3 のプロファイル、ソケットバインディンググループ、およびサーバーグループを JBoss EAP 7.4 の domain.xml 設定ファイルにコピーします。

JBoss EAP 7.4 設定のリソース名と競合する場合は、リソースの名前を変更する必要があります。

以下の手順では、JBoss EAP 7.3 の default プロファイル、standard-sockets ソケットバインディンググループ、および main-server-group サーバーグループが使用されます。

前提条件

  • JBoss EAP 7.3 の default プロファイルをコピーして名前を eap73-default に変更している。
  • JBoss EAP 7.3 の standard-sockets ソケットバインディンググループをコピーして名前を eap73-standard-sockets に変更している。
  • JBoss EAP 7.3 の main-server-group サーバーグループをコピーして名前を eap73-main-server-group に変更している。

    • サーバーグループを更新して、JBoss EAP 7.3 のプロファイル eap73-default と JBoss EAP 7.3 のソケットバインディンググループ eap73-standard-sockets を使用するようにしている。

手順

  1. JBoss EAP 7.4 の domain.xml 設定ファイルを編集します。

    重要

    ファイルを編集する前に、JBoss EAP 7.4 の domain.xml 設定ファイルをバックアップします。

  2. 該当する JBoss EAP 7.3 のプロファイルを JBoss EAP 7.4 の domain.xml ファイルにコピーします。以下に例を示します。

    <profiles>
      ...
      <profile name="eap73-default">
        ...
      </profile>
    </profiles>
  3. 該当する JBoss EAP 7.3 のソケットバインディンググループを JBoss EAP 7.4 の domain.xml ファイルにコピーします。以下に例を示します。

    <socket-binding-groups>
      ...
      <socket-binding-group name="eap73-standard-sockets" default-interface="public">
        ...
      </socket-binding-group>
    </socket-binding-groups>
  4. 該当する JBoss EAP 7.3 のサーバーグループを JBoss EAP 7.4 の domain.xml ファイルにコピーします。

    <server-groups>
      ...
      <server-group name="eap73-main-server-group" profile="eap73-default">
        ...
        <socket-binding-group ref="eap73-standard-sockets"/>
      </server-group>
    </server-groups>

8.7.2.2. JBoss EAP 7.3 サーバーのサーバーグループの設定

サーバーグループの名前を変更した場合は、JBoss EAP 7.3 のホスト設定を更新し、JBoss EAP 7.4 の設定に指定された新しいサーバーグループを使用する必要があります。この例では、JBoss EAP 7.4 の domain.xml に指定された eap73-main-server-group サーバーグループを使用します。

JBoss EAP 7.3 の host-slave.xml

<servers>
    <server name="server-one" group="eap73-main-server-group"/>
    <server name="server-two" group="eap73-main-server-group">
        <socket-bindings port-offset="150"/>
    </server>
</servers>

注記

ホストは、実行している JBoss EAP よりも新しいバージョンで導入された機能や設定を使用できません。

8.7.2.3. JBoss EAP 7.3 インスタンスが JBoss EAP 7.4 の更新を取得しないようにする

JBoss EAP 7.3 のホストが JBoss EAP 7.4 固有の設定やリソースを受け取らないように、マネージドドメインコントローラーは、設定更新をホストコントローラーに転送します。これらのリソースを無視するように、JBoss EAP 7.3 ホストを設定する必要があります。これには、JBoss EAP 7.3 のホストで ignore-unused-configuration 属性を設定します。

注記

また、host-exclude 設定を使用して、特定のバージョンの JBoss EAP を実行するホストが特定のリソースを認識しないよう、ドメインコントローラーに指示することもできます。host-exclude 設定の使用例については、JBoss EAP 6 インスタンスが JBoss EAP 7 の更新を取得しないようにする を参照してください。JBoss EAP 7.3 の場合、host-exclude のオプションとして EAP73 を使用します。

JBoss EAP 7.3 ホストコントローラーのリモートドメインコントローラーへの接続設定で、ignore-unused-configuration 属性を true に設定します。

JBoss EAP 7.3 の host-slave.xml

<domain-controller>
    <remote security-realm="ManagementRealm" ignore-unused-configuration="true">
        <discovery-options>
            <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9990}"/>
        </discovery-options>
    </remote>
</domain-controller>

この設定では、このホストは使用するサーバーグループと、それらのサーバーグループに関連するプロファイル、ソケットバインディンググループ、およびデプロイメントリソースのみを利用でます。その他のリソースはすべて無視されます。