6.3.7. カスタムのマーシャリングブリッジ
Red Hat Data Grid は、Kryo ライブラリーおよび Protostuff ライブラリーを使用して、クライアント/サーバーリクエストをマーシャリングするためのマーシャリングブリッジを 2 つ提供します。これらのマーシャラーのいずれかを使用するには、必要なマーシャラーの依存関係をクライアントの pom に配置するだけです。オブジェクトマーシャリングのカスタムスキーマは、クライアント上でライブラリーの api を使用して選択したライブラリーに登録するか、または指定のマーシャラーブリッジの RegistryService を実装する必要があります。両方のライブラリーでこれを実現する方法の例を以下に示します。
6.3.7.1. Protostuff リンクのコピーリンクがクリップボードにコピーされました!
protostuff マーシャラーの依存関係を pom に追加します。
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-marshaller-protostuff</artifactId>
<version>${version.infinispan}</version>
</dependency>
${version.infinispan} を Red Hat Data Grid の適切なバージョンに置き換えます。
独自のコードにカスタム Protostuff スキーマを登録するには、マーシャリングを開始する前に、カスタムスキーマを Protostuff に登録する必要があります。これは、単に呼び出しを行うことで実現できます。
RuntimeSchema.register(ExampleObject.class, new ExampleObjectSchema());
または、SchemaRegistryService.java インターフェースのサービスプロバイダーを実装し、register () メソッドにすべてのスキーマ登録を配置することもできます。このインターフェースの実装は Java の ServiceLoader API を介してロードされるため、実装されたクラスの完全パスはデプロイメント jar 内の META-INF/services/org/infinispan/marshaller/protostuff/SchemaRegistryService ファイルで指定する必要があります。