12.3. Hot Rod クライアントの向上


12.3.1. トランザクションのサポート

Java、C++、および C# の Hot Rod クライアントは、トランザクションを開始し、参加できるようになりました。

Java Hot Rod クライアントは、FULL_XANON_XA の両方のトランザクションモードをサポートしています。C++ および C# Hot Rod クライアントは、NON_XA トランザクションモードのみをサポートします。

詳細については、Hot Rod トランザクション を参照してください。

12.3.2. JMX での Java Hot Rod クライアント統計

ServerStatistics インターフェイスは、JMX を介して Java Hot Rod クライアントの統計を公開するようになりました。

次の例のように、Hot Rod クライアント実装で JMX 統計を有効にする必要があります。

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.addServer()
        	.host("127.0.0.1")
        	.port(11222)
        	.statistics()
        	.enable()
        	.jmxEnable();
Copy to Clipboard Toggle word wrap
  • enabled() を使用すると、クライアント側の統計を収集できます。
  • jmxEnabled() は、JMX を介して統計を公開します。

詳細については、Javadoc の ServerStatistics を参照してください。

12.3.3. Java Hot Rod クライアント設定の機能強化

このリリースでは、hotrod-client.properties ファイルを使用して、Java Hot Rod クライアントの設定が向上しています。ニアキャッシュ設定、クロスサイト (xsite) プロパティー、認証と暗号化を制御する設定などを行うことができます。

詳細については、Hot Rod クライアント設定の概要 を参照してください。

12.3.4. Netty に基づく新しい Java Hot Rod クライアントの実装

Hot Rod Java クライアントは Netty フレームワークを使用して構築されており、パフォーマンスが向上し、同じ接続を介して操作を同時に実行するためのサポートが提供されます。

以前のリリースでは、アプリケーションが実行する操作は同期的に行われるか、専用のスレッドプールに委譲されていました。

このリリース以降、操作は非同期で実行され、応答は HotRod-client-async-pool スレッドプールで処理されます。操作は同じ接続で多重化できるため、必要な接続数が少なくなります。

注記

カスタムマーシャラーは、データの非整列化を呼び出す特定のスレッドに依存しないようにする必要があります。

詳細については、次の Javadoc を参照してください。

12.3.5. JSON オブジェクトに対する Javascript Hot Rod クライアントのサポート

node.js Hot Rod クライアントは、キーおよび値としてネイティブ JSON オブジェクトのサポートを追加します。以前のリリースでは、クライアントは String キーおよび値のみをサポートしていました。

ネイティブ JSON オブジェクトを使用するには、クライアントを次のように設定する必要があります。

var infinispan = require('infinispan');
var connected = infinispan.client(
    {port: 11222, host: '127.0.0.1'}
    , {
        dataFormat : {
            keyType: 'application/json',
            valueType: 'application/json'
        }
    }
);
connected.then(function (client) {
  var clientPut = client.put({k: 'key'}, {v: 'value'});
  var clientGet = clientPut.then(
      function() { return client.get({k: 'key'}); });
  var showGet = clientGet.then(
      function(value) { console.log("get({k: 'key'})=" + JSON.stringify(value)); });
  return showGet.finally(
      function() { return client.disconnect(); });
}).catch(function(error) {
  console.log("Got error: " + error.message);
});
Copy to Clipboard Toggle word wrap

キーと値のデータ型を個別に設定できます。たとえば、キーを String として設定し、値を JSON として設定できます。

注記

スクリプトは現在、ネイティブ JSON オブジェクトをサポートしていません。

12.3.6. Hot Rod によるキャッシュ名の取得

このリリースには、宣言またはプログラムによって定義されたキャッシュ名のコレクション、および RemoteCacheManager を介して実行時に作成されたキャッシュを返す getCacheNames() メソッドが含まれています。

Hot Rod プロトコルには、["cache1", "cache2"] などの文字列の JSON 配列としてキャッシュ名を返す @@cache@names 管理タスクも含まれるようになりました。

詳細は以下を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat