2013-08-01 15 views
11

W usłudze Amazon Web Services dla java istnieje możliwość utworzenia dwóch różnych klientów dla DynamoDB: synchronizacja i asynchronizacja. Te dwa obiekty można następnie przekazać do konstruktora DynamoDBMapper. Tak więc, powinieneś być w stanie stworzyć dwa różne rodzaje DynamoDBMapper: Sync Mapper i Async Mapper.Aws sdk dla java, dynamo db mapper async

Moje pytanie brzmi: w jaki sposób działa maper asynchroniczny? Nie mogę znaleźć żadnej metody w programie asynchronicznym, który zwraca obiekt Future. Więc, jak mogę kiedykolwiek uruchamiać wiele zapytań asynchronicznie, jeśli zawsze muszę czekać na zwracaną wartość dowolnej metody asynchronicznego programu odwzorowującego?

Dzięki

+0

Dobre pytanie. Ciekawiło mnie to samo. Stworzyłem klienta asynchronicznego i przekazałem go do DynamoMapper, ale nie sądzę, aby było to połączenie asynchroniczne. Dokumentacja jest bardzo niejasna na ten temat. – agentx

+1

Dokładnie ... Na koniec napisałem implementację programu Callable , który używa metody SyncMapper w metodzie "call". Następnie uruchamiam taką implementację wewnątrz wątku Executora, który zwraca obiekt Future , który może być użyty do pobrania wyników zapytania i do synchronizacji z innymi wynikami zapytania. To działa dobrze. – Ulisse

+0

Jakie ramy są używane w wątku Executora? Piszę kontroler Spring MVC, który odbiera dane POST i używa programu odwzorowującego do zapisywania danych w dynamo. Nie jestem pewien, jak tworzyć wątki. To kiepska praktyka tworzenia wątku dla każdego otrzymanego żądania POST. Nie jestem pewien jak postępować. Potrzebuję klienta aysnc z programem odwzorowującym. – agentx

Odpowiedz

13

Asynchroniczny klient DynamoDB rozciąga się od synchronicznej klienta i dostarcza nowych nazw metoda operacji asynchronicznych, które zwracają przyszłości. Obecnie DynamoDBMapper zawsze używa metod synchronicznych dowolnego klienta AmazonDynamoDB, który przekazujesz. Przyjmiemy tę opinię jako żądanie funkcji asynchronicznej obsługi za pomocą programu odwzorowującego.

+2

Dziękuję Jason, czekam na tę funkcję jak najszybciej! – Ulisse

+2

Chciałbym tę funkcję! – oggmonster

+1

Absolutnie chciałbym zobaczyć parzystość między API niskiego i wysokiego poziomu pod względem asynchronicznym. –

Powiązane problemy