Spring Integration 的第五个里程碑版本 5.0 (5.0.0.M5)发布了。Spring Integration 能在基于 Spring 的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成。这些适配器提供了一个更高级别的抽象,超越了 Spring 对远程调用、消息和调度的支持。其主要目标是在保持关注点分离的同时,为构建企业集成解决方案提供一个简单的模型,该模型对产出可维护、可测试的代码来说是必不可少的。
这个版本中有21个JIRA(和一些GitHub问题),包括错误修复和一些新功能。M4 和 M5 相比于 M3有一些亮点:
- Splitter现在可以处理Java Stream和Reactor Flux的有效载荷。 如果输出通道是ReactiveStreamsSubscribableChannel,则拆分支持背压。
- 引入ErrorMessagePublisher以及ErrorMessageStrategy,以便为ErrorMessage的初始化消息追求更好的错误处理体验。 Spring Kafka 2.0和Spring AMQP 2.0中的MessageListenerContainer提供了自己的ErrorMessageStrategy,以便在错误处理流程的ErrorMessage中表示原始数据。
- 新的MockMessageHandler已添加到Spring Integration Test框架中,用于替换真正的“MessageHandler”进行单元测试:
MessageHandler mockMessageHandler =
mockMessageHandler()
.handleNextAndReply(m ->
m.getPayload().toString().toUpperCase());
this.mockIntegrationContext
.substituteMessageHandlerFor("myServiceActivator", mockMessageHandler);
this.pojoServiceChannel.send(new GenericMessage<>("foo"));
receive = this.results.receive(10000);
assertEquals("FOO", receive.getPayload());
- ……
文章转载自 开源中国社区[https://www.oschina.net]