不允许空相关。也许CorrelationStrategy失败了吗?

时间:2017-07-17 08:45:05

标签: spring spring-integration aggregator message-channel

我正在使用spring集成,我正在使用默认关联策略,即我没有明确地为相关策略编写代码,一切正常,直到拆分器,在拆分器之后有一个服务激活器,它做了一些处理然后将消息放入聚合器必须从中选择它的通道,但聚合器不会选择它,所以我放置一个拦截器来查明发生了什么,并发现在将消息放入聚合器通道之前,聚合相关像关联id等的标题存在,但一旦它放入通道标题丢失。现在我不知道为什么聚合器或之前的通道丢失标题。任何帮助将非常感激。

更新: - 我使用spliier然后激活器然后另一个分离器然后激活器然后是聚合器然后是另一个聚合器...下面的代码用于内部分离器和聚合器组合

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。 我终于解决了这个问题。 问题是我将org.json.JSONOBject传递给spring集成组件。 现在JSONObject没有被序列化,我猜分割器和聚合器组件只能用于序列化对象。最简单的方法是通过调用它们上的toString()方法将JSONObjects转换为字符串。如果堆栈跟踪告诉我我使用的是非序列化对象而不是告诉我" Null,那将会非常容易。不允许相关。也许CorrelationStrategy失败了?"

我删除了我放在这里安全的代码。