问题 Aws sdk for java,dynamo db mapper async


在Java的Amazon Web Services sdk中,可以为DynamoDB创建两个不同的客户端:sync和async。然后可以将这两个对象传递给DynamoDBMapper的构造函数。因此,您应该能够创建两种不同类型的DynamoDBMapper:sync mapper和async mapper。

我的问题是:异步映射器如何工作?我在async mapper中找不到任何返回Future对象的方法。那么,如果我必须总是等待异步映射器的任何方法的返回值,我怎么能异步运行多个查询?

谢谢


4921
2017-08-01 09:34


起源

好问题。我也想知道同样的事情。我创建了一个异步客户端并将其传递给DynamoMapper,但我认为这不会使它成为异步调用。文档对此非常不清楚。 - agentx
完全......最后我写了一个Callable <T>的实现,它在方法“call”中使用了SyncMapper。然后,我在Executor的线程中运行这样的实现,该线程返回一个Future <T>对象,该对象可用于检索查询结果以及与其他查询结果同步。这工作正常。 - Ulisse
您在Executor Thread中使用了什么框架?我正在编写一个Spring MVC控制器,它接收POST数据并使用映射器将数据保存在dynamo中。我不确定创建线程。为每个POST请求创建一个线程是一个不好的做法。不知道如何继续..我需要一个带映射器的aysnc客户端。 - agentx
现在,由于很多原因,我没有使用任何框架来管理Executor Thread。但是,我确实在其他项目中使用了Spring,效果很好。看到 static.springsource.org/spring/docs/3.2.x/... - Ulisse
我完全有同样的问题! - Richeek


答案:


异步DynamoDB客户端从同步客户端扩展,并为返回Futures的异步操作提供新的方法名称。目前,DynamoDBMapper将始终使用您传入的任何AmazonDynamoDB客户端的同步方法。我们将此反馈作为使用映射器的异步支持的功能请求。


13
2017-10-17 22:16



谢谢杰森,期待尽快看到这个功能! - Ulisse
会喜欢这个功能! - oggmonster
绝对希望在异步方面看到低级API和高级API之间的奇偶校验。 - Richard Clayton
只是想知道自2013年10月以来是否有任何变动?这将是一个非常有用的功能! - Josh Padnick