0

我正在使用spring集成,并且我正在使用默认的关联策略,也就是说我没有明确地为关联策略编写代码,在拆分器之前一切正常,在拆分器之后有一个服务激活器进行一些处理然后放置消息进入聚合器必须从中选择它的通道,但聚合器不选择它,所以我放置了一个拦截器以找出发生了什么,并发现在将消息放入聚合器通道之前,聚合相关的标头,如相关性id 等存在,但是一旦将其放入频道,标题就会丢失。现在我不确定为什么聚合器或之前的频道会丢失标题。任何帮助将不胜感激。

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

4

1 回答 1

0

谢谢你的帮助。我终于能够解决这个问题。问题是我将 org.json.JSONOBject 从和传递到 spring 集成组件。现在 JSONObject 没有序列化,我猜拆分器和聚合器组件仅适用于序列化对象。最简单的方法是通过调用它们的 toString() 方法将 JSONObjects 转换为字符串。如果堆栈跟踪告诉我我使用的是非序列化对象而不是告诉我“不允许空关联”,那会容易得多. 也许 CorrelationStrategy 失败了?

为了安全起见,我已经删除了我放在这里的代码。

于 2017-07-18T12:50:25.887 回答