8.3. Clustered Jakarta Enterprise Beans のデプロイ
クラスタリングのサポートは JBoss EAP 7.4 の HA プロファイルで利用できます。HA 機能が有効なスタンドアロンサーバーを起動するには、standalone-ha.xml
または standalone-full-ha.xml
ファイルで起動します。
$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml
これにより、HA 機能を持つサーバーの単一インスタンスが起動します。
クラスタリングの利点を確認できるようにするには、サーバーの複数のインスタンスが必要になります。したがって、HA 機能を持つ別のサーバーを起動します。サーバーの別のインスタンスは、同じマシンまたは別のマシンのいずれかに置くことができます。同じマシン上にある場合は、以下の点に注意する必要があります。
- 次のインスタンスのポートオフセットを渡します。
-
各サーバーインスタンスに固有の
jboss.node.name
システムプロパティーがあることを確認します。
これは、以下のシステムプロパティーを起動コマンドに渡すことで実行できます。
$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.socket.binding.port-offset=PORT_OFFSET -Djboss.node.name=UNIQUE_NODE_NAME
Jakarta Enterprise Beans デプロイメントをこのインスタンスにデプロイするのにも慣れていることに気付かれる方法にしたがいます。
クラスター化されたサーバーのスタンドアロンインスタンスの単一のノードにアプリケーションをデプロイしても、そのアプリケーションが他のクラスターインスタンスに自動的にデプロイされるわけではありません。これは、他のスタンドアロンクラスターインスタンスにも明示的にデプロイする必要があります。または、ドメインモードでサーバーを起動して、デプロイメントをサーバーグループのすべてのサーバーにデプロイできます。
クラスター化された Jakarta Enterprise Beans を持つアプリケーションを両方のインスタンスにデプロイしたことで、Jakarta Enterprise Beans はクラスタリング機能を活用できるようになりました。
JBoss EAP 7 より、JBoss EAP が HA プロファイルを使用して起動されると、ステートフルセッション bean の状態がレプリケートされます。クラスタリング動作を有効にするために @Clustered
アノテーションを使用する必要がなくなりました。
@Stateful
アノテーションで passivationCapable
を false
に設定することで、ステートフルセッション Bean のレプリケーションを無効にできます。
@Stateful(passivationCapable=false)
これは、cache-ref
ではなく passivation-disabled-cache-ref
で定義された ejb
キャッシュを使用するようサーバーに指示します。
ステートフルセッション Bean のレプリケーションをグローバルに無効にするには、以下の管理 CLI コマンドを使用します。
/subsystem=ejb3:write-attribute(name=default-sfsb-cache,value=simple)