Engineering
Releases
News and Events

Java DSL for Spring Integration 1.2 Release is available

Dear Spring Community,

It’s my pleasure to announce that the Java DSL for Spring Integration 1.2 GA is now available.

The artifact org.springframework.integration:spring-integration-java-dsl:1.2.0.RELEASE is available in the Release repo and Maven Central.

Since the previous Release Candidate 1 we have received some feedback and these additional features have been added:

Thread Barrier support

A new .barrier() and its mirror .trigger() EIP-methods have been added to the IntegrationFlow definition:

private static final String BARRIER = "barrier";

@Bean
public IntegrationFlow barrierFlow() {
    return f -> f
        .barrier(10000, b -> b
                .correlationStrategy(
                         new HeaderAttributeCorrelationStrategy(BARRIER))
                 .outputProcessor(g ->
                         g.getMessages()
                                 .stream()
                                 .skip(1)
                                 .findFirst()
                                 .get()))
         .channel(c -> c.queue("barrierResults"));
}

@Bean
public IntegrationFlow releaseBarrierFlow(
                          MessageTriggerAction barrierTriggerAction) {
    return IntegrationFlows.from((Channels c) -> c.queue("releaseChannel"))
        .trigger(barrierTriggerAction,
            e -> e.poller(p -> p.fixedDelay(100)))
        .get();
}

Poller errorChannel

A more convenient PollerSpec.errorChannel(String) has been added after upgrading to Spring Integration 4.3.4. We can now specify just the bean name for the errorChannel on the Poller definition and it will be resolved later when the first ErrorMessage is sent.

FileSplitter improvements

The SplitterEndpointSpec now provides a delimiters() option which is mapped to the DefaultMessageSplitter.setDelimiters().

You can find all of the features introduced in version 1.2 in the blog posts announcing previous Milestone releases:

Next Steps

The Spring Integration Java DSL project is moving to the Spring Integration Core 5.0 and Java 8 code base. Version 1.2.x will remain in support for bug fixes.

A big thanks to everyone from the community for feedback that has been provided. Without you we wouldn’t have such a good comprehensive product!

comments powered by Disqus