Java:Async MongoTemplate / MongoOperation

时间:2015-11-01 16:27:53

标签: java spring mongodb spring-data spring-data-mongodb

有没有办法异步插入mongodb?

我知道mongodb在大多数情况下相当快,但是想到也许我可以通过在给出命令后立即返回来节省几毫秒。

适用于连接服务器以向mongodb发送插入命令的用例。您希望在发出命令后返回客户端,而不必等待mongodb的响应。

我阅读了文档:http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/

它似乎只是异步读取,而不是异步插入。

1 个答案:

答案 0 :(得分:2)

Spring Data MongoDB documentation仅显示在查询方法上使用@Async注释的示例,但可以在每个方法上使用它。

引用此文档:

  

可以使用Spring的异步方法执行功能异步执行存储库查询。这意味着该方法将在调用时立即返回,并且实际的查询将在已提交给Spring TaskExecutor的任务中执行。

方法的异步调用不是Spring Data关注的问题,而是Spring Core关注的问题,因此您可以参考Spring framework documentation

简单地说,您只需要在所需的方法上添加@Async注释,并在Spring配置中配置正确的任务执行程序。 XML配置示例如下:

<task:annotation-driven executor="myExecutor" />
<task:executor id="myExecutor" pool-size="5"/>