Spring Integration 5.3 Milestone 2 Available

https://spring.io/blog/2020/02/12/spring-integration-5-3-milestone-2-availablehtml


On behalf of the Spring Integration team, I’m pleased to announce the second milestone for Spring Integration 5.3.java

This release ships several bug fixes, a bunch of new features and improvements and will be picked up by Spring Boot 2.3 M2 in the near future.git

It can be downloaded from our milestone repository:github

compile "org.springframework.integration:spring-integration-core:5.3.0.M2"

The most important new features are:

  • With the IntegrationFlowExtension implementation we now can right our own Java DSL for Spring Integration. It allows to introduce custom or composed EIP-operators. The existing IntegrationComponentSpec implementations can now be extended for additional (missed?) options. So, now any custom and reusable solutions in Java DSL can be implemented in the target project:spring

public class CustomIntegrationFlowDefinition
        extends IntegrationFlowExtension<CustomIntegrationFlowDefinition> {

    public CustomIntegrationFlowDefinition upperCaseAfterSplit() {
        return split()
                .transform("payload.toUpperCase()");
    }

    public CustomIntegrationFlowDefinition customAggregate(
                    Consumer<CustomAggregatorSpec> aggregator) {
        return register(new CustomAggregatorSpec(), aggregator);
    }

}

public class CustomAggregatorSpec extends AggregatorSpec {

    CustomAggregatorSpec() {
        outputProcessor(group ->
                group.getMessages()
                        .stream()
                        .map(Message::getPayload)
                        .map(String.class::cast)
                        .collect(Collectors.joining(", ")));
    }

}

@Bean
public IntegrationFlow customFlowDefinition() {
    return
            new CustomIntegrationFlowDefinition()
                    .log()
                    .upperCaseAfterSplit()
                    .channel("innerChannel")
                    .customAggregate(customAggregatorSpec ->
                            customAggregatorSpec.expireGroupsUponCompletion(true))
                    .logAndReply();
}
  • HTTP and WebFlux outbound channel adapters now support an UriBuilderFactory.EncodingMode option instead of previous`encodeUri` boolean flag.ui

  • The AMQP outbound channel adapter has a new property multiSend allowing multiple messages to be sent within the scope of one RabbitTemplate invocation.spa

  • The AMQP inbound channel adapter now supports a listener container with the consumerBatchEnabled property set to true.code

See What’s New? in the Reference Manual for more information.orm

The next and last M3 milestone is scheduled for March before entering the RC phase in April. Expect an upgrade to the latest milestone releases: Spring Data Neumann, Spring Security 5.3 etc.htm

We’re looking forward to your feedback!

相關文章
相關標籤/搜索