我不知道为什么我会得到例外
Caused by: org.springframework.messaging.core.DestinationResolutionException: no output-channel or replyChannel header available
它只是一个简单的 IntegrationFlow,但不确定我在下面的代码中缺少什么。
@Bean
Exchange messageExchange() {
return ExchangeBuilder
.directExchange("attr")
.durable(true)
.build();
}
@Bean
Queue queue() {
return QueueBuilder
.durable("attr_queue")
.build();
}
@Bean
Binding binding() {
return BindingBuilder
.bind(queue())
.to(messageExchange())
.with("attr_queue")
.noargs();
}
@Bean
IntegrationFlow deltaFlow(ConnectionFactory connectionFactory) {
return IntegrationFlows.from(Amqp
.inboundAdapter(connectionFactory, queue()))
.handle(String.class, (payload, headers) -> {
if (payload.isEmpty()) {
log.info("Payload empty");
} else {
log.info("Payload : " + payload);
}
return payload;
})
.get();
}
我试图接触 Spring Integration,但不知道为什么会出现这个异常。我要做的就是使用 an 从队列中读取inboundAdapter
并将其记录到控制台。代码运行良好,但是当我将消息发布到队列时,我得到了这个异常。使用适配器时是否必须指定 areplyChannel
或always ?output-channel
Amqp