【发布时间】:2020-02-19 18:32:52
【问题描述】:
我正在测试 .channel() 方法的行为,并且我观察到了一些我不理解的事情。
@Bean
public IntegrationFlow flow() {
return IntegrationFlows.from("my-gateway")
.channel("first-channel")
.channel("second-channel")
.get();
}
如果我将打印语句放在“第一通道”中,它们不会被打印。但是一些业务逻辑似乎仍然发生。编辑:为服务激活器添加代码
@ServiceActivator(inputChannel = "first-channel")
public Message testFlow(Message message) {
System.out.println("Entered First Channel " + "\n" + "Message Header: " + message.getHeaders() + "\n" + "Message Payload" + "\n" + message.getPayload());
return message;
}
@ServiceActivator(inputChannel = "second-channel")
public Message testFlow(Message message) {
System.out.println("Entered Second Channel " + "\n" + "Message Header: " + message.getHeaders() + "\n" + "Message Payload" + "\n" + message.getPayload());
return message;
}
application.properties:
logging.level.root=TRACE
我可以在同一个 java dsl IntegrationFlow 中通过多个渠道传递消息吗?还是所有的 IntegrationFlows 都限制在一个通道/ServiceActivator 上?
编辑:只有 second 打印语句出现在日志中。这是为什么呢?
【问题讨论】:
标签: java spring-integration spring-integration-dsl