【发布时间】:2018-02-26 14:35:04
【问题描述】:
我有一个由 Spring Integration 提供支持的应用程序。 简而言之,方案是:
|-> activator
gateWay -> splitter -> transformer -> router |-> ...
|-> activator
例如,服务获取一些 json 数组,将其拆分为 json 对象,然后将它们转换为一些 java 对象。转换时可能会引发一些验证错误。
Spring 集成参考说:
拆分器是另一种类型的消息端点,其职责是 接受来自其输入通道的消息,将该消息拆分为 多个消息,然后将每个消息发送到其输出通道。
所以我希望,如果我发送一个带有一个无效对象的 json 数组,这会引发验证错误,那么所有其他消息都会正常处理,并且只有一个无效对象会被推送到错误通道。但事实并非如此。 当第一个验证异常抛出时,所有其他消息都不会被处理。
例如:
["correct", "correct", "invalid"] --> 会处理2条消息,没关系。
["invalid", "correct", "correct"] --> 0 消息将被处理。
那么消息拆分后如何处理,即使出现错误?
谢谢
【问题讨论】:
标签: spring-integration spring-messaging