The Spring Blog

Engineering
Releases
News and Events

Spring Framework 4.1 release candidate available

Dear Spring community,

It's my pleasure to announce that the first Spring Framework 4.1 release candidate is available now. Our 4.1 delivers a wide range of new features along the following themes:

Annotated JMS listener methods and support for JMS 2.0's shared subscriptions

As well as general alignment of Spring's JMS support with our spring-messaging module. https://spring.io/blog/2014/04/30/spring-4-1-s-upcoming-jms-improvements

Comprehensive support for JCache (JSR-107) annotations and related features

Read more...

Spring XD 1.0.0.RC1 Released

The Spring XD team is pleased to announce that Spring XD Release Candidate 1 is now available for download. You can also install Spring XD on OSX using homebrew and on RHEL/CentOs using yum.

Highlights of this release

  • Direct binding: Deployments can be configured to avoid modules sending data over the Message Bus if they are co-located in the same container. Using this option increases throughput and lowers latency but can not be applied to all deployment topologies.
  • Stream Deployment State: The state of stream is calculated throughout the lifetime of the deployment. For example, if a subset of the modules that comprise a stream have failed, the overall state of the stream changes from Deployed to Incomplete. Once the failures have been addressed, the state of the stream returns to Deployed.
  • Improved REST API: The URI structure has been made more consistent for job management.
  • Support for Rabbit HA and SSL configuration. You can now use mirrored queues to improve the availability of the Message Bus in case of failures. Rabbit Source and Sink modules also support these options.
  • Spring IO Platform 1.0.1 Compliant: User contributed modules or extensions to the servers can rely on the Spring IO platform to select the correct versions of dependent libraries.
  • HTTP source improvements: Now support HTTPS.
  • Support partitioning for filejdbc job.
  • Added MongoDB sink.
  • UI enchancements.
  • Support for Hadoop 2.4.1 in addition to five other versions.
  • Reduced distribution footprint.
Read more...

$text $search your Documents with Spring Data MongoDB

MongoDB officially has offered full text search capabilities since its 2.6 release. The feature ranks among the Top 5 most voted features for the server component and ships in its current version with numerous stemmers and parsers, phrase matching, negation and per field weights. So it's about time to give it a little love and share what's cooking in Spring Data's kitchen to support that feature.

For text indexing and searching MongoDB defaults the language to English, normalizing the text by tokenizing, removing common stop words and reducing words to their base. There's support for several other languages as well.

Read more...

This Week in Spring - July 15th, 2014

Welcome to another installment of This Week in Spring! It's been a crazy week and next week figures to be even crazier! Some of us on the Spring team - including Spring Boot co-lead Phill Webb, Spring Batch lead Michael Minella and myself, will be at OSCON next week, so if you're in the area and at the show come say hi! We'll be at the booth at various hours, too.

  1. Spring Batch lead Michael Minella has just announced Spring Batch 3.0.1, and a new Spring Batch extensions repository which itself houses new integrations with Spring Batch. The first contribution is an ItemReader and ItemWriter for Elasticsearch. Nice!
  2. Spring Data ninja Thomas Darimont has just announced support for SpEL in Spring Data JPA @Query annotations
  3. Spring and Groovy Tool Suite lead Martin Lippert has just announced Spring Tool Suite 3.6.0 and Groovy Tool Suite 3.6.0, based on Eclipse Luna 4.4, with support for Groovy 2.3, Grails 2.4, tc Server 2.9.6, and other minor improvements and bugfixes.
  4. Spring Data ninja Christoph Strobl has just announced Spring Data Evans m1, in which many new revisions are included.
  5. Speaking of the first milestone of Spring Data Evans, Spring Data REST ninja Greg Turnquist has just announced that Spring Data Evans M1 milestone comes with ALPS metadata support. FTA: ALPS provides a way to interrogate a RESTful service to find out about the data it serves. Let's look at a quick example. If you clone the TODO repo and run mvn spring-boot:run, you can surf it's values pretty easily. So.. check it out! I know many have been asking about simialar support.
  6. Check out this upcoming webinar by Michael Plod on why he recommends Spring - learn the technology (and a bit of the business) case! Michael is a great speaker and frequently appears at conferences. Register now for the event on July 22nd.
  7. On July 29th, Russ Danner from Crafter software will tell us about Conquering Content-enabled Web and Mobile Applications with Spring and Groovy.
  8. Andreas Eisele has put together a very nice introduction to the machinery behind using @Transactional in your Spring-managed unit-tests, with analysis of common scenarios, code, and more. Vert cool discussion, and a thoughtful post.
  9. The Cegega blog has a very cool look at handling exceptions using Spring Batch's RetryTemplate.
  10. This subject's near and dear to my hear this week, so I just wanted to share this oldie-but-a-goodie: how to use Atomikos with Spring's JTA support
  11. You are, of course, checking out Groovy-language lead Guillaume LaForge's This Week in Groovy, aren't you? :-)
Read more...

Webinar Replay: Building your app management tools with Spring Boot

Speaker: Greg Turnquist

Spring Boot lets you write apps better than ever. But did you ever think about writing all those support scripts and tools you inevitably need with Boot as well? In this webinar, see how the Spring team has already picked up and run with Spring Boot CLI as a powerful way to manage things like all open issues against the 60+ getting started guides. See how to monitor application logs using a little Spring Integration, Spring WebSocket+STOMP, and other technologies, all with some lightweight Boot+Groovy code.

Read more...

SpEL support in Spring Data JPA @Query definitions

Spring Data JPA allows manually defining the query to be executed by a repository method using the @Query annotation. Unfortunately parameter binding in JPQL is quite limited only allowing you to set a value and providing some type conversion. The latest Spring Data JPA M1 release of the Evans release train eases this pain by adding support for using SpEL expressions to use dynamically bound parameters within statements in @Query annotations which provides additional flexibility when defining queries manually. In this blog post, I am going to introduce you to the capabilities of this feature.

Read more...

Spring Data REST now comes with ALPS metadata

With the recent release of Spring Data's Evans M1 milestone, Spring Data REST now comes with support for ALPS metadata to describe the semantics of the resources exported.

ALPS is a data format for defining simple descriptions of application-level semantics, similar in complexity to HTML micro-formats. It also supports adding its metadata to existing media types. As of version 2.2 M1, Spring Data REST exposes JSON based ALPS resources that can help us navigate its resources. Let's see how!

We can start with a quick example. If you clone the TODO repo and run mvn spring-boot:run, you can navigate it to learn its values pretty easily.

Read more...

Spring Tool Suite and Groovy/Grails Tool Suite 3.6.0 released

Dear Spring Community,

we are happy to announce the next major release of our Eclipse-based tooling today: The Spring Tool Suite (STS) 3.6.0 and the Groovy/Grails Tool Suite (GGTS) 3.6.0.

Highlights from this release include:

  • based on Eclipse Luna 4.4
  • support for Groovy 2.3
  • updated to Grails 2.4
  • updated to tc Server 2.9.6
  • minor improvements to the Gradle tooling
  • bugfixes, including fixes for endless build loops and memory leaks

To download the distributions, please go visit:

Read more...

First Milestone of Spring Data Release Train Evans Available

We are happy to announce the first milestone of the Spring Data Release train Evans.

Read more...

Spring Batch Releases And A New Repository

Today we are pleased to announce the release of Spring Batch 3.0.1, Spring Batch Admin 1.3.0.RC1, and introduce the Spring Batch Extensions project. These releases in addition to the Spring Batch Extensions project address a number of improvements and issues.

Spring Batch 3.0.1

This release of Spring Batch consists mainly of bug fixes, however, one new feature was added: ScriptItemProcessor. This ItemProcessor implementation provides the ability to use an external or inline script to provide the logic of your processor. An example of using Groovy inline would look something like this:

Read more...