Java:异步 MongoTemplate/MongoOperation

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

有没有办法将一些东西异步插入到 mongodb 中?

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

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

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

好像只是异步读取,没有异步插入。

最佳答案

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

引用本文档:

Repository queries can be executed asynchronously using Spring’s asynchronous method execution capability. This means the method will return immediately upon invocation and the actual query execution will occur in a task that has been submitted to a Spring TaskExecutor.

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

简单地说,你只需要在你想要的方法上添加@Async注解,并在Spring配置中配置一个合适的任务执行器。示例 XML 配置为:

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

关于Java:异步 MongoTemplate/MongoOperation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464411/

相关文章:

java - 将多个名称保存在字符串数组中

java - 运行jar时的当前目录路径

java - 我应该将字符串消息分配给极端情况下的某个变量并在方法结束时返回,还是立即返回?

java - 什么时候应该抛出 IllegalArgumentException?

spring - 如何在 r2dbc 中批量执行多个插入?

java - Spring 未分类SQLException : ORA-01012

mongodb - 如何统计mongodb中游标的迭代次数?

java - 使用 Jmockit 对 Spring MVC Controller 进行单元测试

C API 上的 mongodb 分组

java - 如何将从 Twitter 接收的数据存储到 MongoDb 中?