2013-08-01 16 views
11

Amazon Web Services sdk for javaには、syncとasyncの2つの異なるクライアントをDynamoDB用に作成することができます。 2つのオブジェクトは、DynamoDBMapperのコンストラクタに渡すことができます。つまり、同期マッパーと非同期マッパーの2種類のDynamoDBMapperを作成できるはずです。Aws sdk for java、dynamo db mapper async

私の質問は:非同期マッパーはどのように機能しますか?私は将来のオブジェクトを返す非同期マッパーのメソッドを見つけることができません。では、非同期マッパーのメソッドの戻り値を常に待たなければならない場合、どうすれば非同期で複数のクエリを実行できますか?

おかげ

+0

良い質問。私も同じように思っていた。非同期クライアントを作成してDynamoMapperに渡しましたが、非同期呼び出しとは思われません。ドキュメントはこれについて非常に不明です。 – agentx

+1

正確に...最後に、メソッド "call"でSyncMapperを使用するCallable の実装を記述しました。次に、このような実装をExecutorのスレッド内で実行し、Futureのオブジェクトを返します。このオブジェクトは、クエリの結果の取得や他のクエリ結果との同期に使用できます。それはうまくいきます。 – Ulisse

+0

Executor Threadにはどのようなフレームワークを使用していますか?私はPOSTデータを受け取ってマッパーを使ってダイナモにデータを保存するSpring MVCコントローラを書いています。私はあなたが得る各POST要求のためのスレッドを作成する悪い習慣をスレッドの作成についてはわからない。続行する方法がわからない。マッパーでaysncクライアントが必要です。 – agentx

答えて

13

非同期DynamoDBのクライアントは、同期クライアントから延び、先物を返す非同期操作のための新しいメソッド名が提供されます。現在、DynamoDBMapperは、渡したAmazonDynamoDBクライアントの同期メソッドを常に使用します。このフィードバックは、マッパーを使用した非同期サポートの機能要求として使用します。

+2

ジェイソンさん、この機能をできるだけ早くお楽しみいただきありがとうございます! – Ulisse

+2

この機能が大好きです。 – oggmonster

+1

非同期の観点からは、低レベルAPIと高レベルAPIとの間のパリティを見たいと思います。 –

関連する問題