The Spring Blog

Engineering
Releases
News and Events

Using Spring Cloud programmatically

In the last blog, I showed you how to use Spring Cloud's Java configuration option to obtain service connectors declaratively (there is also XML namespace support, if you need it). In this blog, we will take a closer look at how you would use Spring Cloud programmatically. This will help in the situations where you cannot use Java or XML configuration. It will also demystify how Spring Cloud works and prepare for the next blog in this series, where we discuss extending Spring Cloud.

To work with Spring Cloud we need to access an object of the Cloud class. However, you can’t create a Cloud object directly (its constructor is not public). Instead, you will obtain it through CloudFactory.

Read more...

Spring Batch Admin 1.3.0.RELEASE Is Available

We are pleased to announce that Spring Batch Admin 1.3.0.RELEASE is now available via Maven Central, Github and the SpringSource download repository. This release provides updates to Spring Batch Admin to make it compatible with Spring Batch 2.2.x and beyond. In addition to the minor functional updates, this release also provides an overall update to third party dependencies. As noted previously, this will be the last major version with the spring-batch-integration module included as it has been moved to Spring Batch as of Spring Batch 3.0. As always, we look forward to your feedback in the comments, Jira, StackOverflow, and in person at SpringOne!

Read more...

Spring Framework 4.1 -- Spring MVC Improvements

Recently Juergen Hoeller announced the availability of the first of two 4.1 release candidates. Brian Clozel followed up with a post on the static web resources handling enhancements. Previously Stephane Nicoll blogged about cache and JMS related improvements. The goal of this post is to summarize Spring MVC improvements.

The JDK 1.8 java.util.Optional is now supported for @RequestParam, @RequestHeader and @MatrixVariable controller method arguments while ListenableFuture is supported as a return value alternative to DeferredResult where an underlying service (or perhaps a call to AsyncRestTemplate) already returns ListenableFuture.

Read more...

Spring Data Dijkstra SR2 released

On behalf of the Spring Data team I am pleased to announce the availability of the second service release of the Dijkstra release train. It includes 49 fixes overall for the following modules:

Read more...

Pivotal Toronto Meetup: Production Grade Applications with Spring Boot

Date: June 18, 2014

Location: Toronto, Canada

WARNING: Audio is not great, but hopefully tolerable :)

Spring Boot, the new convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring's flexibility with conventional, common sense defaults to make application development not just fly, but pleasant! Join Spring developer advocate Josh Long@starbuxman for a look at what Spring Boot is, why it's turning heads, why you should consider it for your next application (REST,web, batch, big-data, integration, whatever!) and how to get started.

Read more...

Spring Framework 4.1 - handling static web resources

This week, Juergen announced the Spring Framework 4.1 release candidate. Now is the time to test those new features and see how they can make your applications better!

One of those new features is the flexible resolution and transformation of static web resources. Spring framework already allows you to serve static resources using ResourceHttpRequestHandlers. This feature gives you more power and new possibilities.

ResourceResolvers and ResourceTransformers

ResourceResolvers and ResourceTransformers are at the very core of this new feature.

Read more...

This Week in Spring - July 22nd, 2014

Welcome to another installment of This Week in Spring! This week we're at OSCON in beautiful Portland, OR! It's been a crazy busy week, and only figures to be busier! It's been nice visiting with colleagues and community members alike. The booth on the expo floor has been flooded with users. I love this show. :)

  1. First, the big news: the Spring framework 4.1 release candidate is now available! The new release features updated JSR-107 support, JMS 2.0 and annotation-centric JMS configuration, a SpEL compiler, and so much more.
  2. Spring XD co-lead Dr. Mark Pollack has just announced that Spring XD RC1 is now available. Installation is dead-simple. There are numerous new features, and this train's moving fast so check it out, download the bits, kick the tires, etc.
  3. Spring Data ninja Christoph Strobl put together a nice blog post introducing Spring Data MongoDB's full-text search
  4. The A Piece of My Code blog looks at how to use Spring's integration testing with mock services.
  5. Tousif Khan has put together a nice post on Spring's view controllers
  6. The Tech Zoo blog wrote up how to use Spring's Apache Tiles support
  7. The softwarecave blog introduces how to handle charts with jqPlot, Spring's REST support, AJAX and JQuery
  8. Theodora Fragkouli has written up a nice post on using Spring MVC's Errors tag
  9. I've just stumbled upon this JavaCodeGeeks academy trail on using Spring Data Redis - looks interesting.
  10. Want to use Spring, Hibernate 4, and Ehache together? Check out this tutorial.
Read more...

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