我正在尝试测试我的Spring Integration设置,但正在接收
“MessageDeliveryException:Dispatcher没有频道订阅者”。
我正在使用QueueChannel而我认为它不需要处理程序(我可以在文档中看到)。
我正在使用Spring Integration Java DSL以编程方式定义集成流,而不是使用上下文。
async/await
答案 0 :(得分:2)
IntegrationFlow
必须始终在上下文中注册为bean。我不确定是什么原因让你以不同的方式思考,但由于你没有在上下文中将它注册为bean,因此特定的BeanPostProcessor
没有完成流配置魔术。这就是为什么你得到那个" Dispatcher没有订阅者的频道“错误。
如果您手动注册集成流程,请参阅IntegrationFlowContext
:https://docs.spring.io/spring-integration/docs/5.0.0.BUILD-SNAPSHOT/reference/html/java-dsl.html#java-dsl-runtime-flows。
该文档适用于Spring Integration 5.0,但IntegrationFlowContext
在Java DSL 1.2.x中的行为方式相同。