24.2.5. JDBC_PING の設定

JDBC_PING プロトコルを使用して、クラスターでメンバーシップを管理および検出できます。

JDBC_PING はデータソースに指定されたデータベースを使用して、クラスターのメンバーを一覧表示します。

  1. クラスターメンバーシップの管理に使用するデータベースに接続するデータソースを作成します。
  2. 以下のスクリプトをテキストエディターにコピーし、ローカルファイルシステムに保存します。

    batch
    # Add the JDBC_PING stack
    /subsystem=jgroups/stack=JDBC_PING:add
    /subsystem=jgroups/stack=JDBC_PING/transport=TCP:add(socket-binding=jgroups-tcp)
    /subsystem=jgroups/stack=JDBC_PING/protocol=JDBC_PING:add(data-source=ExampleDS)
    /subsystem=jgroups/stack=JDBC_PING/protocol=MERGE3:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=FD_SOCK:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=FD_ALL:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=VERIFY_SUSPECT:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=pbcast.NAKACK2:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=UNICAST3:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=pbcast.STABLE:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=pbcast.GMS:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=MFC:add
    /subsystem=jgroups/stack=JDBC_PING/protocol=FRAG3:add
    # Set JDBC_PING as the stack for the ee channel
    /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=JDBC_PING)
    run-batch
    reload

    定義されたプロトコルの順番が重要になることに注意してください。また、add-index の値を add コマンドに渡すと、特定のインデックスでプロトコルを挿入できます。インデックスはゼロベースであるため、以下の管理 CLI コマンドは UNICAST3 プロトコルを 7 つ目のプロトコルとして追加します。

    /subsystem=jgroups/stack=JDBC_PING/protocol=UNICAST3:add(add-index=6)
  3. 環境に合わせてスクリプトを変更します。

    • 管理対象ドメインで実行している場合は、/subsystem=jgroups コマンドの前に /profile=PROFILE_NAME を追加し、更新するプロファイルを指定する必要があります。
    • ExampleDSを、手順 1 で定義したデータソースの名前に置き換えます。
  4. スクリプトファイルを管理 CLI に渡してスクリプトを実行します。

    $ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/SCRIPT_NAME

JDBC_PING スタックが使用できるようになり、ネットワークの通信に TCP が使用されます。

JDBC_PING: https://developer.jboss.org/wiki/JDBCPING

データソースの作成: JBoss EAP データソース