使用Mongo出站通道适配器时如何获取UpsertResult?

时间:2018-12-20 15:06:21

标签: java spring mongodb spring-integration

我正在使用spring集成将数据存储在mongo数据库中。我正在使用Java类(MongoDbStoringMessageHandler),而不是xml配置,并且在向数据库中添加一些数据时找不到找到结果的方法...

有可能吗?怎么样?

1 个答案:

答案 0 :(得分:2)

MongoDbStoringMessageHandler是单向组件,它不返回任何内容。

考虑使用MongoDbOutboundGateway代替注入CollectionCallback,您可以在其中执行updateMany()并从该网关获得UpdateResult作为答复。

请参阅参考手册中的更多信息:https://docs.spring.io/spring-integration/reference/html/mongodb.html#mongodb-outbound-gateway

更新

  

但是我不知道为函数插入消息有效负载放置什么参数。...由于ServiceActivator中没有消息的引用

哦!我知道了。那个臭虫。我们无法从该上下文访问消息。请提出有关此事的JIRA:https://jira.spring.io/projects/INT/

同时,作为一种解决方法,我建议您编写一个注入了MongoOperations的自定义POJO,然后您可以针对requestMessage构建任何可能的逻辑。

JIRA在这里:https://jira.spring.io/browse/INT-4570