データ・グリッドのデータを挿入、削除、更新、および取得するには、クライアント・アプリケーションを
作成する必要があります。入門用サンプルには、独自のクライアント・アプリケーションの作成方法を
学習できるクライアント・アプリケーションが組み込まれています。
wxs_install_root/ObjectGrid/gettingstarted/client/src/ ディレクトリーにある Client.java ファイル
は、カタログ・サーバーへの接続方法、ObjectGrid インスタンスの取得方法、
および ObjectMap API の使用法を示したクライアント・プログラムです。ObjectMap API は、データをキー値ペアとして保管し、リレーションシップを持たないオブジェクトのキャッシングに適しています。以下のステップでは、Client.java ファイルの内容を検討します。
リレーションシップを持つオブジェクトをキャッシュに入れる必要がある場合は、EntityManager API を使用してください。
- ClientClusterContext インスタンスを取得することで、カタログ・サービスに接続します。
カタログ・サーバーに
接続するには、ObjectGridManager API の connect メソッドを使用します。
使用する connect メソッドが必要とするのは、hostname:port という形式のカタログ・サーバー・エンドポイントのみです。hostname:port 値のリストをコンマで区切って、複数のカタログ・サーバー・エンドポイントを示すことができます。以下のコード・スニペットは、カタログ・サーバーへの接続方法
と ClientClusterContext インスタンスの取得方法を示します。
ClientClusterContext ccc = ObjectGridManagerFactory.getObjectGridManager().connect("localhost:2809", null, null);
カタログ・サーバーへの
接続が成功すれば、connect メソッド
は ClientClusterContext インスタンスを戻します。この ClientClusterContext インスタンス
は、ObjectGridManager API から ObjectGrid を取得するのに必要です。
- ObjectGrid インスタンスを取得します。
ObjectGrid インスタンスを
取得するには、ObjectGridManager API の getObjectGrid メソッドを使用します。
getObjectGrid メソッドは、ClientClusterContext インスタンスと、
データ・グリッド・インスタンスの名前との両方を必要とします。ClientClusterContext インスタンスは、カタログ・サーバーへの接続中に取得されます。
ObjectGrid インスタンスの名前は、objectgrid.xml ファイルに
指定されている Grid です。 以下のコード・スニペットは、ObjectGridManager API の getObjectGrid メソッドを呼び出すことによってデータ・グリッドを取得する方法を示します。
ObjectGrid grid = ObjectGridManagerFactory.getObjectGridManager().getObjectGrid(ccc, “Grid");
- Session インスタンスを取得します。
取得した ObjectGrid インスタンス
から、Session を取得することができます。Session インスタンスは、ObjectMap インスタンスの取得とトランザクション区分の実行のために必要です。以下のコード・スニペットは、ObjectGrid API の getSession メソッドを呼び出すことによって Session インスタンスを取得する方法を示します。
Session sess = grid.getSession();
- ObjectMap インスタンスを取得します。
Session を取得した後、Session API の getMap メソッドを呼び出すことによって、Session インスタンスから ObjectMap インスタンスを取得することができます。ObjectMap インスタンスを取得するには、
マップ名を getMap メソッドに
パラメーターとして渡す必要があります。 以下のコード・スニペットは、Session API の getMap メソッドを呼び出すことによって ObjectMap を取得する方法を示します。
ObjectMap map1 = sess.getMap("Map1");
- ObjectMap メソッドを使用します。
ObjectMap インスタンスを
取得した後、ObjectMap API を使用できます。ObjectMap インターフェースはトランザクション・マップであり、Session API の begin メソッドおよび commit メソッドを使用したトランザクション区分を必要とすることに注意してください。アプリケーションに明示的なトランザクション区分がない場合、ObjectMap 操作は自動コミット・トランザクションで実行します。
以下のコード・スニペットは、自動コミット・トランザクションでの ObjectMap API の使用方法を示しています。
map1.insert(key1, value1);
以下の
コード・スニペットは、明示的なトランザクション区分がある場合の ObjectMap API の使用方法を示しています。
sess.begin();
map1.insert(key1, value1);
sess.commit();
- オプション: セッションを閉じます。 Session 操作および ObjectMap 操作がすべて完了したら、Session.close() メソッドを使用してセッションを閉じます。
このメソッドを実行すると、セッションで使用されていたリソースが返されます。
sess.close();
結果として、後続の getSession() メソッド呼び出しはより早く戻り、ヒープでの Session オブジェクトが少なくなります。