13.4. Hot Rod インターフェースコネクター

Red Hat JBoss Data Grid は、以下の 3 つのコネクタータイプをサポートします。
  • Hot Rod ベースコネクターの設定を定義する hotrod-connector 要素。
  • memcached ベースコネクターの設定を定義する memcached-connector 要素。
  • REST インターフェースベースのコネクターの設定を定義する rest-connector 要素。
コネクターの宣言により、<socket-binding-group /> 内で宣言されたソケットバインディングを使用し、local コンテナーで宣言されたキャッシュを公開し、他のすべての設定でデフォルト値を使用して Hot Rod、Memcached、または REST サーバーが有効になります。以下の例は、Hot Rod、Memcached、および REST サーバーに接続する方法を示しています。
以下により、hotrod ソケットバインディングを使用して Hot Rod サーバーが有効になります。
<hotrod-connector socket-binding="hotrod" 
		  cache-container="local" />
コネクターは、サポートするトポロジーキャッシュをデフォルト設定で作成します。これらの設定は、以下のように <topology-state-transfer /> 子要素をコネクターに追加することにより、調整できます。
<hotrod-connector socket-binding="hotrod" 
		  cache-container="local">
   <topology-state-transfer lazy-retrieval="false" 
   			    lock-timeout="1000" 
   			    replication-timeout="5000" />
</hotrod-connector>
Hot Rod コネクターは追加の設定で調整できます。Hot Rod コネクターの設定方法の詳細については、「Hot Rod コネクターの設定」を参照してください。

注記

Hot Rod コネクターは SSL を使用してセキュアにできます。詳細については、『Developer Guide』の「Hot Rod Authentication Using SASL」を参照してください。

13.4.1. Hot Rod コネクターの設定

次の手順は、Red Hat JBoss Data Grid のリモートクライアントサーバーモードで Hot Rod コネクターを設定するために使用する属性を示しています。hotrod-connector 要素と topology-state-transfer 要素は、次の手順に基いて設定する必要があります。

手順13.1 リモートクライアントサーバーモード用 Hot Rod コネクターの設定

<subsystem xmlns="urn:infinispan:server:endpoint:6.1">
	<hotrod-connector socket-binding="hotrod" 
			  cache-container="local" 
			  worker-threads="${VALUE}" 
			  idle-timeout="${VALUE}"
			  tcp-nodelay="${TRUE/FALSE}"
			  send-buffer-size="${VALUE}"
			  receive-buffer-size="${VALUE}" />
	<topology-state-transfer lock-timeout"="${MILLISECONDS}"
				 replication-timeout="${MILLISECONDS}"
				 external-host="${HOSTNAME}"
				 external-port="${PORT}"
				 lazy-retrieval="${TRUE/FALSE}" 
				 await-initial-transfer="${TRUE/FALSE}" /> 
</subsystem>
  1. hotrod-connector 要素は、Hot Rod で使用する設定要素を定義します。
    1. socket-binding パラメーターは、Hot Rod コネクターで使用されるソケットバインディングポートを指定します。これは必須パラメーターです。
    2. cache-container パラメーターは、Hot Rod コネクターで使用されるキャッシュコンテナーを指定します。これは必須パラメーターです。
    3. worker-threads パラメーターは、Hot Rod コネクターで利用可能なワーカースレッドの数を指定します。このパラメーターのデフォルト値は、160 です。これはオプションパラメーターです。
    4. idle-timeout パラメーターは、接続がタイムアウトするまでコネクターがアイドル状態のままになる時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は -1 です (タイムアウト期間が設定されません)。これは、オプションパラメーターです。
    5. tcp-no-delay パラメーターは、TCP パケットが遅延され一括して送信されるかを指定します。このパラメーターの有効な値は truefalse になります。このパラメーターのデフォルト値は、true です。これはオプションパラメーターです。
    6. send-buffer-size パラメーターは、Hot Rod コネクターの送信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。
    7. receive-buffer-size パラメーターは、Hot Rod コネクターの受信バッファーのサイズを指定します。このパラメーターのデフォルト値は TCP スタックバッファーのサイズです。これはオプションパラメーターです。
  2. topology-state-transfer 要素は、Hot Rod コネクターのトポロジー状態転送設定を指定します。この要素は hotrod-connector 要素内でのみ使用できます。
    1. lock-timeout パラメーターは、ロックを取得しようとする操作がタイムアウトする時間を指定します。このパラメーターのデフォルト値は 10 秒です。これはオプションパラメーターです。
    2. replication-timeout パラメーターは、レプリケーション操作がタイムアウトする時間 (ミリ秒単位) を指定します。このパラメーターのデフォルト値は 10 秒です。これはオプションパラメーターです。
    3. external-host パラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するホスト名を指定します。このパラメーターのデフォルト値は、ホストアドレスです。これはオプションパラメーターです。
    4. external-port パラメーターは、トポロジー情報にリストされたクライアントに Hot Rod サーバーが送信するポートを指定します。このパラメーターのデフォルト値は、設定されたポートです。これはオプションパラメーターです。
    5. lazy-retrieval パラメーターは、Hot Rod コネクターが取得操作をレイジーに実行するかどうかを指定します。このパラメーターのデフォルト値は true です。これはオプションパラメーターです。
    6. await-initial-transfer パラメーターは、初期状態の取得を起動時にすぐに行うかどうかを指定します。このパラメーターは、lazy-retrievalfalse に設定されている場合のみ適用されます。このパラメーターのデフォルト値は true です。