【问题标题】:Break the Transformer flow Spring Integration打破 Transformer 流程​​ Spring 集成
【发布时间】:2019-04-30 07:26:26
【问题描述】:

我有弹簧集成流程。一种用于文件轮询,另一种用于处理文件

流#01

轮询 C:/testing 目录下的文件

文件进入“处理”队列

流程#02(来自“流程”)

Transformer(new FindTheDepartItbelongs()) //basically file has to match to some depoartment
.transform(new FileParserTransformer()
.transformer(new CustomerTransformer()
.handle (o -> {})

问题是如果FindTheDepartItBelongs 找不到部门,那么它必须停止其余的流程并将消息发送到某个错误队列。

如果我从转换器返回 null,它就不起作用。

还有其他方法可以达到同样的效果吗?

【问题讨论】:

  • 变形金刚不能返回null;您需要展示完整的流程配置,以便我们帮助您进行错误处理配置。
  • @GaryRussell 我已经有了错误处理程序,但我很想知道是否可以在两者之间停止流程?
  • transformer 不能返回 null,但 .handle() 方法可以并且流程停止。但是,它不会进入错误通道;你必须为此抛出一个异常。
  • @GaryRussell 我明白了,伙计。谢谢,如果你有时间可以帮我解决这个问题stackoverflow.com/questions/53521593/…
  • 如果你愿意,你可以留下这个答案,我会接受

标签: java spring-integration spring-integration-dsl


【解决方案1】:

transformer 不能返回 null,但 .handle() 方法可以并且流程会停止。但是,它不会进入错误通道;您必须为此抛出异常。

【讨论】:

  • 谢谢,正是我想要的。
猜你喜欢
  • 2016-03-02
  • 2021-07-09
  • 2015-09-21
  • 1970-01-01
  • 2015-01-16
  • 2023-04-07
  • 1970-01-01
  • 2016-05-21
  • 2020-04-20
相关资源
最近更新 更多