传统的Spring Integration项目使用XML定义工作流。 基本流程如下:
int-jms:message-driven-channel-adapter
会收听消息并将其置于内部频道上。以下是将变压器组件连接到内部输入和输出通道的XML:
<int:chain input-channel="inputChannel">
<int:transformer ref="..." />
<int:recipient-list-router apply-sequence="true">
<int:recipient channel="outputChannel1" />
<int:recipient channel="outputChannel2" />
<int:recipient channel="outputChannel3" />
</int:recipient-list-router>
</int:chain>
我试图将此表示为DSL。 以下是端点的基本配置:
@Bean
public DirectChannel outputChannel() {
return new DirectChannel();
}
@Bean
public org.springframework.integration.dsl.IntegrationFlow listenerFlow() {
return IntegrationFlows
.from(inputChannel)
.transform(transformer)
.channel(outputChannel())
.get();
}
@Bean
public org.springframework.integration.dsl.IntegrationFlow outputFlow() {
return IntegrationFlows
.from(outputChannel())
.handle(handler)
.get();
}
每个端点都表示为单独的IntegrationFlow
bean。这是最佳做法,还是首选一个IntegrationFlow
代表完整的工作流程(如果可能的话)?
由于