KVStoreハンドルの取得

ストアになんらかの理由でアクセスするには、最初にKVStoreFactory.getStore()メソッドを使用して、KVStoreハンドルを取得する必要があります。

KVStoreハンドルを取得する場合は、ハンドルにKVStoreConfigオブジェクトを指定します。この構成オブジェクトによって、アクセス先のストアの重要なプロパティを識別します。この項では、KVStoreConfigクラスについて説明します。このクラスを使用して、少なくとも次の情報を特定します。

  • ストア名。指定する名前は、ストアをインストールしたときに使用した名前と同じにする必要があります。

  • 1つ以上のヘルパー・クラスのネットワーク・アクセス情報。このようなアクセス情報は、ストアに現在属しているホストのネットワーク名とポート情報で構成されます。1つの要素から複数の要素へ、文字列の配列を使用して複数のホストを識別します。ホストが一時的に停止する可能性があり、その場合に他のホストが役立つため、複数のホストを使用することをお薦めします。

KVStoreConfigクラス・オブジェクトの他に、KVStoreFactory.getStore()にはPasswordCredentialsクラス・オブジェクトを指定することもできます。認証を必要とするように構成されているストアを使用している場合は、これを行うことをお薦めします。詳細は、「認証APIの使用」を参照してください。

認証を要求しないストアの場合は、次のようにストア・ハンドルを取得します。

package kvstore.basicExample;

import oracle.kv.KVStore;
import oracle.kv.KVStoreConfig;
import oracle.kv.KVStoreFactory;

...

String[] hhosts = {"n1.example.org:5088", "n2.example.org:4129"};
KVStoreConfig kconfig = new KVStoreConfig("exampleStore", hhosts);
KVStore kvstore = KVStoreFactory.getStore(kconfig); 

KVStoreConfigクラスの使用

KVStoreConfigクラスは、KVStoreハンドルのプロパティを記述するのに使用します。ほとんどのプロパティはオプションであり、必須のものは、クラス・インスタンスの作成時に指定します。

KVStoreConfigを使用して指定できるプロパティは次のとおりです。

  • 一貫性

    一貫性は、レプリカ・ノードから読み取られたレコードがマスター・ノードに格納されている同じレコードと同一であることを表すプロパティです。詳細は、「一貫性保証」を参照してください。

  • 永続性

    永続性は、マスター・ノードで実行される書込み操作が、マスター・ノードに障害が起きたり、異常終了した場合でも失われないことを表すプロパティです。詳細は、「永続性保証」を参照してください。

  • ヘルパー・ホスト

    ヘルパー・ホストは、ストア内のヘルパー・ノードへの接続方法を識別するホスト名とポートのペアです。複数のヘルパー・ホストを識別するには、文字列の配列を使用します。通常、ストアのデプロイヤまたは管理者からこれらのホスト名/ポートのペアを取得します。次に例を示します。

    String[] hhosts = {"n1.example.org:3333", "n2.example.org:3333"};
  • リクエスト・タイムアウト

    KVStoreハンドルが操作の完了を待つ、タイムアウトまでの時間を構成します。

  • ストア名

    ストアの名前を識別します。

  • パスワード資格証明およびオプションで再認証ハンドラ

    認証の詳細は、次の項を参照してください。