What's New in Spring Integration 2.2 (Part 2 - Transaction Synchronization)

Engineering | Gary Russell | September 26, 2012 | ...


This is the second part in a series of blog posts highlighting some of the new features available in Spring Integration 2.2 following the recent release of Release Candidate 1. The first part talks about the MongoDB adapters.

Spring Integration 2.2 introduces extended support for synchronizing non-transactional resources with transactions.


Spring has provided first class support for synchronizing resources with transactions for many years. In many cases, this facility is used to synchronize transactions managed by multiple transaction managers, in order to implement the 'Best Efforts 1PC' pattern described in Dave Syer's excellent JavaWorld article.

It is often used, for example, to synchronize a JMS commit with a JDBC commit.

Spring Integration has long supported this feature, by defining a <transactional/> element on a poller. This release takes this feature one step further, by allowing synchronization of non-transactional resources with a transaction.

For example, consider a <file:inbound-channel-adapter/> and an Integration application that reads a file when it appears in a directory, and updates a database. This…

This Week in Spring - 25th September, 2012

Engineering | Josh Long | September 26, 2012 | ...

Welcome back to another installment of This Week in Spring! There's so much good stuff to look at this week. Can you believe we're already staring down October?

It's time to think about who or what you are going to be for halloween!

With October comes SpringOne2GX, the premier event for Spring developers. Check out the final schedule of speakers and sessions for this year's event! SpringOne 2GX is your opportunity to learn from development leads and published authors on the Spring, Groovy/Grails, Tomcat and Cloud technologies.

  1. The video from Spring Security lead Rob Winch's webinar introducing Spring Security is now available.
  2. Oleg Zhurakousky kicks off the march to Spring Integration 2.2 with a blog introducing the new MongoDB features in 2.2.
  3. Gary Russell has announced release candidate 1 of Spring Integration 2.2.
          This is intended to be the final release before GA, so users are encouraged to give feedback on this release.  
  4. Costin Leau has announced the 1.0.0.RC1 release of Spring Shell, which is an extraction of the shell used in Spring Roo and made available through the Spring programming model.
  5. Roger Hughes is back at it again, this time with a look at Spring 3.1 caching and configuration options, specifically focusing on setting up a CacheManager.
  6. The vFabric blog has an interesting look at the "split-agent" architecture behind Spring Insight, that allows the separation of the collection stage from the analysis one.
  7. Krishna Prasad has a nice post on obtaining test coverage information for Spring Web Flow applications.
  8. Mattias Severson has a nice post on handling errors in Spring MVC-based RESTful application.
  9. Ronillo Ang's put together a very brief deck on the fundamental pieces of a Spring MVC application.
  10. The JavaCode Geeks blog has a nice post on writing persistence layers with the Spring framework.
  11. L'Artech blog has a cool post on creating the login form for a web application using Spring MVC, in part 3 of a series.

Second milestone of spring-test-mvc released

Releases | Rossen Stoyanchev | September 26, 2012 | ...

A second milestone of the Spring MVC Test project is now available through the SpringSource Artifactory repository http://repo.springsource.org/milestone.

There is much that's new. On the server side we've added support for servlet filters, basic support for Spring Security, the ability to define default request properties and expectations to re-use across every performed request, and much more. On the client side we've greatly expanded the options for request matching and response creation.

For further details and comments read this blog post.

What's New in Spring Integration 2.2.RC1 (Part 1 - MongoDb)

Engineering | Oleg Zhurakousky | September 24, 2012 | ...


Spring Integration 2.2.RC1 is out and we will be coming out with a set of blogs in the coming days discussing some of its new features. In this first blog we'll talk about MongoDb Inbound and Outbound Channel Adapters. Full set of discussed samples is available here

MongoDb Outbound Channel Adapter

MongoDb Outbound Channel Adapter allows you to write the Message payload to a MongoDb document store.

You can see the simplest configuration of the MongoDb Channel Adapter below:

<int-mongodb:outbound-channel-adapter id="deafultAdapter"/>

It will be initialized with the default instance of the MongoDbFactory (the default bean name is 'mongoDbFactory') otherwise you can provide its reference via mongodb-factory attribute.

Now you can run the MongoDbOutboundAdapterDemo. After running it open terminal window and start MongoDb CLI

$> mongo

Once in MongoDb CLI type a query:

> db.data.find({})

And you should see the 3 document entries we just created:

{ "_id" : ObjectId("505ff83d03649ed6881d…

Spring Integration Release Candidate 1 is Released!

Releases | Gary Russell | September 21, 2012 | ...

Spring Integration 2.2.0.RC1 - the release candidate for the 2.2 stream, including a number of important features and improvements, is now available. Barring major issues, we expect to make the final release shortly, so users are encouraged to try out the new features, some of which are described here. Over the next week or so, we intend to release a number of blog posts highlighting some of these features and others.

More information is available on the project's home page.

Spring Shell 1.0.0.RC1 Released

Releases | Costin Leau | September 20, 2012 | ...

Dear Spring Community,

I am pleased to announce the first release candidate for Spring Shell project! Spring Shell is an interactive shell that can be easily extended with commands using a Spring based programming model, extracted from the Spring Roo project.

Downloads | JavaDocs | Reference Documentation | Changelog

This release contains various fixes related to JLine/Jansi. See the changelog for detailed info.

We look forward to your feedback on the forum or in the issue tracker.

This Week in Spring - 18th September, 2012

Engineering | Josh Long | September 19, 2012 | ...

Welcome to another installation of This Week in Spring! This week I'm in Bloomington-Normal, Illinois talking to StateFarm about Spring Projects: MVC, REST, Mobile, and Android. The developers here are code ninjas. Listening to their internal talks over the course of the day has been eye opening, to say the least. Don't miss the Spring, Groovy and Grails event of the year in Washington, DC: SpringOne2GX. If you haven't already registered, now's the time! Oh, and don't forget, if you're in the United States, today is national cheeseburger day! So... bon appetit!

    <LI> Chris Beams has announced the availability of <a href ="http://www.springsource.org/node/3654">Spring Framework 3.2 M2</a>, which features many new features including improved <CODE>TestContext</CODE> support, Spring MVC improvements, asynchronous <CODE>@Controllers</CODE>, and lots of bug-fixes and improvements.  </LI>
    <LI> This month's SpringSource webinar is coming fast - <a href ="http://www.springsource.org/node/3653"> Spring Security with Rob Winch</a>. Be sure to register now! </LI>
    <li> Martin Lippert has announced the availability  of the <a href="http://www.springsource.org…

Spring Data Neo4j 2.1.0 Release Candidate 4 released

Releases | Michael Hunger | September 18, 2012 | ...

Shortly before the Spring Data GA release train arrives, we would like to gather some feedback on fixes and updates in Spring Data - Neo4j. That's why we released an Release Candidate 4.

Here is a quick overview of the changes that made it into this release candidate, much longer than we intended to, but still very useful.

Changes in version 2.1.0.RC4 (2012-08-19)

  • DATAGRAPH-296 Updates to stable versions of Neo4j 1.8.RC1, spatial, cypher-dsl and java-rest-binding, adopted to API changes
  • DATAGRAPH-285 adding application events for save and delete
  • DATAGRAPH-263, DATAGRAPH-212, DATAGRAPH-272, DATAGRAPH-147 refactored derived query creation, added support for multiple indexed fields and all query keywords
  • DATAGRAPH-294 derived finder methods for numerically indexed values
  • DATAGRAPH-293 find objects by graph-id
  • DATAGRAPH-275 non graceful fallback on empty graph for TypeRepresentationStrategyFactory
  • DATAGRAPH-246 allowing entity as parameter to derived finders
  • DATAGRAPH-281 Added support for Enums and Dates as parameters to Cypher

Just point your dependency version to 2.1.0.RC4. For now the online resources have not been updated due to manual effort and time constraints. Those will be available for the 2.1.0.RELEASE.

Spring Tool Suite and Groovy/Grails Tool Suite 3.1.0.M1 released

Releases | Martin Lippert | September 14, 2012 | ...

Dear Spring Community,

I am happy to announce the first milestone release 3.1.0.M1 of the Spring Tool Suite (STS) and the Groovy/Grails Tool Suite (GGTS).

Highlights from this milestone include:

  • We now provide distributions based on Eclipse 3.8 and Eclipse 4.2
  • Mylyn updated to 3.8.1
  • Mac apps now signed for Gatekeeper in OSX 10.8 Mountain Lion
  • Maven support for Grails projects

Some of our users reported general performance issues with the new Eclipse Juno 4.2 platform that STS 3.0.0 ships with. Most of these issues seem to be related to the underlying UI platform and its usage from various plugins and extensions. Since our goal is to provide the best possible user experience, we decided to provide two separate distributions for STS 3.1.0.M1: one that is built on top of…

Spring Data REST 1.0.0.RC3 Released

Releases | Jon Brisbin | September 14, 2012 | ...

I'm pleased to announce the release of Spring Data REST 1.0.0.RC3! This release includes a significant number of bug fixes, changes to the structure of the JSON representation, better integration of user-defined Jackson Modules that are bootstrapped into the internal ObjectMapper, as well integration with Spring HATEOAS. Also included in this release is support for extending the resource representation (e.g. to add links to other, related resources) using the Spring HATEOAS ResourceProcessor abstraction.

New functionality includes:

  • JSON output looks different in an effort to make property names consistent and structure clearer.
  • Pulls in any Jackson Module beans discovered and integrates user configuration with internal ObjectMapper.
  • Integration with Spring HATEOAS - Customize the outgoing JSON by adding or removing links or otherwise altering the resource.

Starter Web Application | Wiki | Release Notes

To learn more about the project, visit the Spring Data REST homepage, or visit the Github repository

Get the Spring newsletter

Thank you!

Get ahead

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

Learn more

Get support

Spring Runtime 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