2.5. マーシャリング機能

本リリースでは、Data Grid のデフォルトのマーシャラーは ProtoStream です。これは、言語に依存しない後方互換性形式である Protocol Buffers としてデータをマーシャリングします。

ProtoStream を使用するには、Data Grid には以下を含むシリアル化コンテキストが必要です。

  • Java オブジェクトの構造化表現を Protobuf メッセージタイプとして提供する .proto スキーマ。
  • Java オブジェクトを Protobuf 形式にエンコードするための Marshaller の実装。

Data Grid は ProtoStream ライブラリーとの直接統合を提供し、シリアル化コンテキストを初期化するために必要なものをすべて生成できます。

重要

キャッシュストアの Data Grid は、ProtoStream マーシャラーと互換性のないバイナリー形式でデータを格納します。データを移行するには StoreMigrator ユーティリティーを使用する必要があります。

  • Data Grid ライブラリーモードには、デフォルトで JBoss マーシャリングが含まれていません。infinispan-jboss-marshalling 依存関係をクラスパスに追加します。
  • Data Grid サーバーは JBoss マーシャリングをサポートしますが、クライアントは以下の Hot Rod クライアント設定のように使用するマーシャラーを宣言する必要があります。

    .marshaller("org.infinispan.jboss.marshalling.core.JBossUserMarshaller");

  • Spring インテグレーションは、デフォルトの ProtoStream マーシャラーをサポートしていません。このため、Java Serialization Marshaller を使用する必要があります。
  • Java Serialization Marshaller を使用するには、クラスを非シリアル化ホワイトリストに追加する必要があります。