Spring Boot's new Gradle plugin

Engineering | Andy Wilkinson | April 05, 2017 | ...

One of the main themes of Spring Boot 2.0 M1 is a range of significant improvements to its Gradle plugin. Many of those improvements have just been merged and are available in the latest Spring Boot snapshots. There's a few weeks until Spring Boot 2.0.0.M1 will be released at the beginning of May and we'd love to hear your early feedback on the new plugin before then.

You can read more about the plugin's capabilities in its reference and API documentation.

Trying the new plugin

The new plugin requires Gradle 3.4 or later. Like the rest of Spring Boot, snapshots are published to https://repo.spring.io/libs-snapshot. The easiest way to use a snapshot is to create a new Gradle project on start.spring.io

Spring Integration 5.0 Milestone 3 Available

Releases | Artem Bilan | April 05, 2017 | ...

The Spring Integration team is pleased to announce that the third milestone for the Spring Integration 5.0 release (5.0.0.M3) is now available.

53 JIRAs (and some GitHub issues) made into this release, including bug fixes and a number of new features. Some highlights since the previous Milestone 2:

  • Initial implementation for a Spring Integration Testing Framework - the @SpringIntegrationTest annotation for test classes and MockIntegration factory help you to write unit tests for integration flows and channel adapters. We intend to flush out this capability with more features before GA, including more mocking, verifications and some send-and-receive utilities to test components in isolation. Feedback is welcome!

  • POJO handler method invocations (@ServiceActivator, @Transformer etc., or such methods invoked from XML definitions) now use InvocableHandlerMethod by default. Together with the ConfigurableCompositeMessageConverter and @Default utilities that allows us to implement conditional method invocation scenarios based on the Content-Type and target method arguments resolution. To restore the previous SpEL-based behavior, the @UseSpelInvoker method-level annotation is provided.

This Week in Spring - April 4th, 2017

Engineering | Josh Long | April 04, 2017 | ...

Welcome to another installment of This Week in Spring! This week I'm in London, UK; Paris, France (for the epic Devoxx France event where I'll be speaking with my buddy Matt Raible) and Stuttgart, Germany, where I'll be speaking at conferences and to customers! If you're around, don't hesitate to say "hi"!

Spring AMQP 2.0.0 Milestone 3 is Available

Releases | Gary Russell | April 04, 2017 | ...

We are pleased to announce that the third milestone for the Spring AMQP 2.0 release (2.0.0.M3) is now available.

36 JIRA Issues are included in this release, including bug fixes and a number of new features:

  • Initial support for broker-less integration testing - the TestRabbitTemplate discovers listener containers in the application context and invokes those containers' listeners for send() and sendAndReceive() operations. We intend to flush out this capability with more features before GA, including routing, and simulation of the various exchange types supported by RabbitMQ. Feedback is welcome.

  • Rollback with an external transaction manager is now consistent with local transactions.

  • The 4.1.x amqp-client library is now the default.

  • The RabbitTemplate now has an invoke() method which allows multiple operations to be performed sequentially on the same channel. This also enables features such as waitForConfirmsOrDie() provided by the underlying library, when sending multiple messages to the same channel.

Spring Tool Suite 3.8.4 released

Releases | Martin Lippert | April 03, 2017 | ...

Dear Spring Community,

I am happy to announce the 3.8.4 release of the Spring Tool Suite, our Eclipse-based tooling.

Highlights from this release include:

  • updated to Eclipse Neon.3
  • completely revamped wizard for direct access to start.spring.io
  • boot dashboard: support for local Spring Cloud CLI services
  • boot dashboard: support for routes when deploying apps to CF
  • fixed font rendering on main STS dashboard
  • added support for Buildship 2.0
  • improved reliability for boot dashboard when showing status of running boot apps
  • issue tracking moved to GitHub Issues

To download the distributions, please go visit:

Detailed new and noteworthy notes can be found here: STS 3.8.4 New & Noteworthy.

STS 3.9.0 is scheduled to be released on top of Eclipse Oxygen 4.7 in early July 2017.

Enjoy!

Spring Team and Pivotal at OSCON Austin 2017

News | Pieter Humphrey | April 03, 2017 | ...

Join the Spring Team and Pivotal experts at OSCON Austin May 10-11, 2017! Pivotal will be at booth # 104 9:45am - 7:00pm on Wednesday May 10 9:45am - 4:30pm on Thursday May 11

We will have experts available to talk to you about leading open source projects like Cloud Foundry, Spring Framework, Apache Tomcat, and much more. Stop by and learn about Cloud Native applications from the leaders at Pivotal.

Don't miss these talks on Cloud-Native applications, Microservices, Cloud Foundry, Product Management and much more!

Tutorials - Tuesday May 9

9:00AM - 12:30PM Ballroom F Tutorial: Cloud-native Java - Josh Long https://conferences.oreilly.com/oscon/oscon-tx/public…

Reactor Kotlin Extensions 1.0.0.M1 released

Releases | Sébastien Deleuze | March 28, 2017 | ...

Update: Kotlin is now natively supported by reactor-core and reactor-test without requiring any additional extensions.

I am excited to announce the release of the first milestone of Reactor Kotlin Extensions, which provides Kotlin extensions for Reactor API.

It provides support for Kotlin types like KClass, takes advantage of Kotlin reified type parameters and provide various extensions to allow more expressive code. You can see bellow a quick comparaison of Reactor with Java versus Reactor with Kotlin + extensions.

Java Kotlin with extensions
Mono.just("foo") "foo".toMono()
Flux.fromIterable(list) list.toFlux()
Mono.error(new RuntimeException()) RuntimeException().toMono()
Flux.error(new RuntimeException()) RuntimeException().toFlux()
flux.ofType(Foo.class) flux.ofType<Foo>() or flux.ofType(Foo::class)
StepVerifier.create(flux).verifyComplete() flux.test().verifyComplete()

This Week in Spring - March 28th, 2017

Engineering | Josh Long | March 28, 2017 | ...

Welcome to another installment of This Week in Spring! This week I'm in Omaha, Nebraska, speaking to customers and tonight I'll be presenting at an event co-sponsored by the Omaha, JUG and the local Omaha, Spring Users Group, talking about reactive Spring. Don't be shy, come out and say hi!

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all