2013-08-01 16 views
11

Nel sdk di Amazon Web Services per java esiste la possibilità di creare due diversi client per DynamoDB: sync e async. I due oggetti possono essere quindi passati al costruttore di DynamoDBMapper. Quindi, dovresti essere in grado di creare due diversi tipi di DynamoDBMapper: sync mapper e async mapper.Aws sdk per java, dynamo db mapper async

La mia domanda è: come funziona il mappatore async? Non riesco a trovare alcun metodo nel mapper async che restituisce un oggetto Future. Quindi, come potrei mai eseguire più query in modo asincrono se devo sempre attendere il valore di ritorno di qualsiasi metodo del mappatore async?

Grazie

+0

Buona domanda. Mi stavo chiedendo lo stesso pure. Ho creato un client asincrono e l'ho passato a DynamoMapper ma non penso che lo faccia una chiamata asincrona. La documentazione non è chiara su questo. – agentx

+1

Esattamente ... Alla fine ho scritto un'implementazione di Callable che utilizza SyncMapper nel metodo "call". Quindi, eseguo tale implementazione all'interno del thread di un Executor che restituisce un oggetto Future , che può essere utilizzato per recuperare i risultati della query e per la sincronizzazione con altri risultati della query. Funziona bene. – Ulisse

+0

Quale framework stai usando per il thread Executor? Sto scrivendo un controller Spring MVC, che riceve i dati POST e usa il mapper per salvare i dati in dynamo. Non sono sicuro di creare thread ... è una cattiva pratica creare un thread per ogni richiesta POST che ottieni. Non so come procedere .. ho bisogno di un client aysnc con il mapper. – agentx

risposta

13

Il client DynamoDB asincrono estende dal client sincrono, e fornisce nuovi nomi di metodo per le operazioni asincrone che restituiscono Future. Attualmente DynamoDBMapper utilizzerà sempre i metodi sincroni di qualsiasi client AmazonDynamoDB che passi. Prendiamo questo feedback come richiesta di funzionalità per il supporto asincrono tramite il programma di mappatura.

+2

Grazie, Jason, non vedo l'ora di vedere questa funzionalità al più presto! – Ulisse

+2

Adorerei questa funzione! – oggmonster

+1

Assolutamente piacerebbe vedere la parità tra le API di basso livello e di alto livello in termini di asincrono. –

Problemi correlati