我们正在为项目添加Spring Integration。该平台是Java 7,并且在不久的将来不会计划迁移到8。所有Spring配置都是Java配置,没有xml。 但是我们找不到任何使用纯Java配置Spring Integration但没有lambdas等的指南。例如,我们需要Java 7等同于这样的东西(来自spring-integration-extensions github的示例):
@Bean
public IntegrationFlow pollingFlow() {
return IntegrationFlows.from(jdbcMessageSource(),
c -> c.poller(Pollers.fixedRate(100).maxMessagesPerPoll(1)))
.transform(new ObjectToJsonTransformer())
.channel("furtherProcessChannel")
.get();
}
我们甚至没有接受Java 8新功能的培训来理解这一点。 这对我们来说是一个真正的僵局,迫使迁移到java 8还是使用Spring集成xml配置? 谢谢。
答案 0 :(得分:1)
此c -> c.poller(Pollers.fixedRate(100).maxMessagesPerPoll(1))
相当于:
return IntegrationFlows.from(jdbcMessageSource(),
new EndpointConfigurer<SourcePollingChannelAdapterSpec>() {
@Override
public void configure(SourcePollingChannelAdapterSpec c) {
c.poller(Pollers.fixedRate(100).maxMessagesPerPoll(1));
}
})
任何Lambda只是一个内联接口实现,因此,您需要在IDE中执行的操作只需键入new
并按CTRL+SHIFT+SPACE
- IDE会建议您使用相应的实现。
这就是全部。
答案 1 :(得分:0)
请查看官方的Spring框架参考指南。
This是您的问题所涉及的具体部分。