13.12. Hot Rod C++ と Hot Rod Java クライアント間の相互運用性
Red Hat JBoss Data Grid は、構造化データにアクセスするために Hot Rod Java と Hot Rod C++ クライアント間の相互運用性を提供します。これは、Google の Protobuf 形式を使用してデータを構造化およびシリアル化することにより可能になります。
たとえば、言語間の相互運用性を使用すると、Hot Rod C++ クライアントが Protobuf を使用して構造化およびシリアル化された次の
Person
オブジェクトを記述し、Java C++ クライアントが Protobuf として構造化された同じ Person
オブジェクトを読み取ることができます。
例13.10 言語間の相互運用性の使用
package sample; message Person { required int32 age = 1; required string name = 2; }
Protobuf オブジェクトをシリアル化するために Hot Rod Java クライアントが同梱された Protostream ライブラリーを使用することが推奨されます (ただし、これは強制ではなくサポートされていません)。Protobuf ライブラリーは、C++ 向けの推奨シリアル化ソリューションです (https://code.google.com/p/protobuf/)。
C++ と Hot Rod Java クライアント間の相互運用性は基本データタイプ、文字列、バイトアレイにおいて完全にサポートされています。Protobuf と Protostream はこれらのタイプの相互運用性のために必要ありません。
C++ クライアントが Protobuf エンコードデータを読み取る方法については、https://github.com/jboss-developer/jboss-jdg-quickstarts/tree/master/remote-query/src/main/cpp を参照してください。