Search:

Search all manuals
Search this manual
Manual
Couchbaseクライアントライブラリ: Java 1.0
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
4 Javaメソッドの概要
Chapter Sections
Chapters

4.2. 非同期メソッド呼び出し

加えて、ライブラリは明示的に応答を待つ必要のない、値の格納、更新や取得用の非同期メソッド群をサポートしています。

非同期メソッドは各操作の最初のメソッド呼び出しによって返される Future オブジェクトあるいはその適切な実装を利用します。メインプログラムのループが処理を継続できるように、Couchbase サーバとの通信はクライアントライブラリによってバックグラウンドで処理されます。返却された Future オブジェクトのステータスをチェックするメソッドを利用してオペレーションのステータスを取得することができます。例えば、キーの取得を同期ではなく、非同期で行う場合、このようになります:

GetFuture getOp = client.asyncGet("someKey");

これはサーバからの応答を持った Future オブジェクトである GetFuture を保持します。Future オブジェクトクラスはここで定義されています。主要なメソッドは次のとおりです。

次の例では、タイムアウトを指定して値の取得や操作をキャンセルします:

GetFuture getOp = client.asyncGet("someKey");

Object myObj;

try {
    myObj = getOp.get(5, TimeUnit.SECONDS);
} catch(TimeoutException e) {
    getOp.cancel(false);
}

代わりに、get() メソッドを利用して応答を待つことも出来ます。

Object myObj;

myObj = getOp.get();