close
Newest Post

Announcing: The NEW Spring Website!

Read more

Spring Boot 2.3.0.M2 available now

On behalf of the team and everyone that contributed, I am pleased to announce that the second milestone of Spring Boot 2.3 has been released and is available from our milestone repository.

This release closes 120 issues and pull requests. Thanks to all those who have contributed with issue reports and pull requests.

Highlights of this milestone include:

  • Improvement of our Docker image support
  • Upgrade to MongoDB 4 (still in beta)
  • Support of wildcard locations for configuration files
  • Numerous dependency upgrades
Read more

Spring Integration 5.3 Milestone 2 Available

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

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.

It can be downloaded from our milestone repository:

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:

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.

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

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

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

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.

We’re looking forward to your feedback!

Read more

Spring Data Neumann M3 released

On behalf of the Spring Data team, I’m pleased to announce the third milestone of the Neumann release train. This release ships exactly 75 tickets fixed and will be picked up by Spring Boot 2.3 M2 in the near future.

The most important new features are:

  • Upgrade to MongoDB driver 4 (beta).
  • Joda-Time and ThreeTenBackport support is now deprecated in favor of JSR-310.
  • Geo Distance sort support in Elasticsearch.
  • Quoting of table and column names in Spring Data JDBC enabled by default.

You can find a curated changelog in our release train wiki or skim through a full list of changes in JIRA.

Read more

This Week in Spring - February 11th, 2020

Hi, Spring fans! Welcome to yet another installment of This Week in Spring! It’s been a very nice week indeed. I’ve been knee-deep in finishing my book, writing more code to support the A Bootiful Podcast production pipeline, and meeting amazing people in the new VMWare organization, and beyond. I’ve also been working on some new Spring Tips videos - what would you like to see covered, my friends?

We’ve got a lot of good stuff this week, so let’s get to it!

Read more

Spring Security 5.3.0.RC1 Released

On behalf of the community, I’m pleased to announce the release of Spring Security 5.3.0.RC1! You can find the complete details in the release notes and the highlights below:

RSocket

gh-7935 - Add RSocket Authentication Extension Support

OAuth 2.0

gh-7699 - Introduce Reactive OAuth2Authorization success/failure handlers

Test

gh-7828 - Add oauth2Login Reactive Test Support
gh-7886 - Add oauth2Client MockMvc Test Support

Docs

gh-7801 - Modernize Documentation Styling
Read more