第3章 リモートキャッシュのクエリー
Data Grid Server のリモートキャッシュにインデックスを付けてクエリーを実行できます。
3.1. Hot Rod クライアントからのキャッシュの作成 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid を使用すると、HotRod エンドポイントを介して Java クライアントからリモートキャッシュをプログラムでクエリーできます。この手順では、Book インスタンスを保存するリモートキャッシュをインデックス化する方法を説明します。
前提条件
-
ProtoStream プロセッサーを
pom.xmlに追加します。
Data Grid は、@ProtoField および @ProtoDoc アノテーションにこのプロセッサーを提供するため、Protobuf スキーマを生成してクエリーを実行できます。
手順
次の例のように、インデックスアノテーションをクラスに追加します。
Book.java
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいクラスに
SerializationContextInitializerインターフェイスを実装してから、@ AutoProtoSchemaBuilderアノテーションを追加します。-
includeClassesパラメーターで@ProtoFieldと@ProtoDocアノテーションを含んだクラスを参照。 -
生成する Protobuf スキーマの名前と、
schemaFileNameおよびschemaFilePathパラメーターを使用したファイルシステムパスを定義します。 schemaPackageNameパラメーターで Protobuf スキーマのパッケージ名を指定します。RemoteQueryInitializer.java
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
プロジェクトをコンパイルします。
このプロシージャのコード例は、
proto /book.protoスキーマとアノテーションされたBookクラスのRemoteQueryInitializerImpl.java実装を生成します。
次のステップ
エンティティーにインデックスを付けるように Data Grid を設定するリモートキャッシュを作成します。たとえば、以下のリモートキャッシュは、前のステップで生成した book.proto スキーマの Book エンティティーをインデックス化します。
以下の RemoteQuery クラスは以下を行います。
-
RemoteQueryInitializerImplシリアル化コンテキストを Hot Rod Java クライアントに登録します。 -
Protobuf スキーマ
book.protoを Data Grid Server に登録します。 -
2 つの
Bookインスタンスをリモートキャッシュに追加します。 - タイトルのキーワードで本を照合する全文クエリーを実行します。
RemoteQuery.java