【发布时间】:2021-06-26 06:49:06
【问题描述】:
我在一个简单的 POJO 中配置了一个服务激活器,我想将它转换为 Java DSL。
现在,我的 Java DSL 看起来像这样,
public IntegrationFlow inputFlow() {
return IntegrationFlows.from(inputChannel())
.log(LoggingHandler.Level.DEBUG, "com.dash.messages")
.transform(Transformers.fromJson(MessageWrapper.class, customObjectMapper()))
.channel(theOtherChannel()))
.get();
}
有一个 POJO 里面有一个服务激活器,
public class MessageProcessor {
private static final Logger logger = LoggerFactory.getLogger(MessageProcessor.class);
....
@ServiceActivator
public void handle(MessageWrapper message, @Headers Map<String, Object> headers) {
logger.debug("Message received: " + message);
// Send message to another system
....
}
}
在XML中,对应的配置如下图,
<int:service-activator input-channel="theOtherChannel"
ref="MessageProcessor" output-channel="nullChannel" />
- 如何在 Java DSL 中调用 ServiceActivator 方法?我正在考虑使用
.handle(),但参数应该是什么? - 在使用 Java DSL 时是否有
null通道的概念?如果是,我们如何指定?
【问题讨论】:
标签: spring-integration spring-integration-dsl