处理Spring-Integration转换器中的异常

Pau*_*zie 4 spring-integration

我有一个变换器,它接受一个org.w3c.dom.Document并返回一个域对象.这很好.如果缺少元素,我会引发应用程序异常.

但是,我想将这个异常放到错误通道上,而不是通过一系列处理程序回放它当前的工作方式.如果在转换失败的情况下有一种指定错误通道的方法会很好.

我可以:

  • 通过路由器传递消息,以检查变换器之前(或之后)是否缺少元素
  • 路由消息

但是,这意味着要解析文档两次并重新编写一些内容.

Pau*_*zie 5

我想出的答案是将变换器的返回类型从域POJO更改为Message.然后,在异常情况下,返回一条消息.然后由有效负载类型路由器将异常路由到正确的处理程序.