如何关闭弹簧整合渠道?

时间:2017-07-26 08:20:18

标签: java spring spring-integration

我有Spring Integration和输入/输出通道的项目。问题出在最后一段配置

 <int:transformer id="testTransformer"  input-channel="inChannel" method="processor"
        output-channel="outChannel">
            <bean class="someClass"/>
        </int:transformer>

它给了我一个错误

failure occurred in gateway sendAndReceive: No reply produced by handler 'testTransformer', and its 'requiresReply' property is set to true

我明白这是关于我的outputChannel没有初始化,所以如何正确地使程序完成?

1 个答案:

答案 0 :(得分:0)

  

处理程序'testTransformer'没有回复,其'requiresReply'属性设置为true

这意味着transformer组件是严格的请求 - 回复,它肯定必须返回一些东西。

这不是您的配置问题,而是someClass.processor()方法中的逻辑。重新考虑它以返回任何有价值的东西而不是null

如果您的逻辑可以null,并且您在流程中以某种方式管理它,请考虑切换到service-activator。这个回复并不严格,允许返回null。但与此同时,你应该记住流量在这里完全停止。 null对于消息传递无效,并且是一个停止处理的指标,因为payload不再是什么。