22.5. カスタムコードの相互運用性
Red Hat Data Grid でカスタムコードをデプロイできます。たとえば、スクリプト、タスク、リスナー、コンバーター、およびマージポリシーをデプロイできます。カスタムコードはキャッシュで直接データにアクセスできるため、異なるエンドポイントを介してキャッシュ内のデータにアクセスするクライアントと相互運用する必要があります。
たとえば、他のクライアントはデータをバイナリー形式で保存する一方で、キャッシュに保存されているカスタムオブジェクトを処理するリモートタスクを作成できます。
カスタムコードとの相互運用性を処理するには、オンデマンドでデータを変換したり、データを POJO(Plain Old Java Objects)として保存したりできます。
22.5.1. オンデマンドデータの変換 リンクのコピーリンクがクリップボードにコピーされました!
キャッシュが application/x-protostream や application/x-jboss-marshalling などのバイナリー形式でデータを保存するように設定されている場合、Java オブジェクトをメディアタイプとして使用してキャッシュ操作を実行するように設定できます。「 MediaType プログラムによるオーバーライド」を 参照してください。
このアプローチにより、リモートクライアントはキャッシュエントリーの保存にバイナリー形式を使用できますが、これが最適です。ただし、バイナリー形式と Java オブジェクト間で変換できるようにエンティティークラスをサーバーで利用できるようにする必要があります。
さらに、キャッシュが Protobuf(application/x-protostream)をバイナリー形式として使用する場合、Data Grid がカスタムコードからアンマーシャリングできるように protostream マーシャラーをデプロイする必要があります。「 Deploying Protostream Marshallers 」を参照してください。