The Spring Blog

Engineering
Releases
News and Events

This Week in Spring - April 11th, 2017

Welcome to another installation of This Week in Spring!

Read more...

Spring For Apache Kafka 1.2.0 and 1.1.4 Available

We are pleased to announce that these maintenance releases of Spring for Apache Kafka are now available, 1.2.0.RELEASE and 1.1.4.RELEASE.

These versions include several bug fixes and improvements, as well as introduce support for KStreams.

They are functionally equivalent; the 1.2.0.RELEASE is based on the 0.10.2.0 kafka-clients jar and 1.1.4.RELEASE can be used with 0.10.0.x and 0.10.1.x.

While 1.1.4.RELEASE will work at runtime with a 0.10.2.x client library, some breaking changes in the embedded kafka API means that the embedded kafka Junit @Rule in spring-kafka-test will not work and 1.2.0.RELEASE is required for that.

Read more...

Spring Integration 5.0 Milestone 3 Available

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.

  • A based on the WebFlux WebClient ReactiveHttpRequestExecutingMessageHandler implementation is provided. Together with a ReactiveChannel as an outputChannel options it provides backpressure manner for remote HTTP service consumption.

  • The (S)FTP (and AWS S3) Inbound Channel Adapters can now restore file tree locally. For that purpose a new, Files.walk() based, RecursiveDirectoryScanner is introduced. The useWatchService option is also provided.

  • Web Services Gateways now can exchange WebServiceMessage s directly as the inbound/outbound payload. This allows the support of MTOM via direct access to WebServiceMessage properties. The UnmarshallingTransformer can now process a MimeMessage as the payload to unmarshal it into an object graph with attachments.

  • The reply producing MessageHandler now has a fallback to the replyChannel header from the reply message, if there is no outputChannel or replyChannel in the request message headers. This allows the implementation of business process-like scenarios when the next step is determined by the result of current calculations.

Read more...

Spring Boot's new Gradle plugin

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 and select Spring Boot 2.0 snapshots.

Read more...

Spring AMQP 2.0.0 Milestone 3 is Available

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.

  • null message properties are no longer included in toString() which makes debug logs easier to read.

  • @QueueBinding annotations now support multiple routing keys, and support custom exchange types.

Read more...

This Week in Spring - April 4th, 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”!

Read more...

Spring Team and Pivotal at OSCON Austin 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!

Read more...

Spring Tool Suite 3.8.4 released

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
Read more...