This Week in Spring, November 22nd, 2011

Engineering | Josh Long | November 23, 2011 | ...

Welcome back to another installment of This Week in Spring. For those of us in the US, the Thanksgiving holiday is upon us.

Generally, the idea behind Thanksgiving (which has analogs in many other countries, as well) is to have a day to reflect on the things we are thankful for.

In that spirit, let me offer one of the things that I am thankful for: thank you, dear readers, for being part of the most awesome community out there. Between all the cool stuff you guys are doing and all the cool stuff happening at SpringSource, it is an absolute pleasure to put together this roundup every week. We…

Using Cloud Foundry Services with Spring: Part 4 – Spring Profiles

Engineering | Scott Andrews | November 10, 2011 | ...

Spring 3.1 adds significant new support for environments. This new Environment API makes it easy to expose properties to an application or conditionally load a fragment of configuration.

In an earlier post in this series, Ramnivas showed how Cloud Foundry can automatically connect to a database without manual configuration. When you need more control over this process, e.g. connecting to multiple databases, the cloud namespace condenses the configuration of a DataSource into just a single line of XML. The cloud namespace is powerful, but it is only supported for applications running in Cloud…

Using Cloud Foundry Services with Spring: Part 3 - the <cloud> namespace

Engineering | Thomas Risberg | November 09, 2011 | ...

We saw in the previous blog post Using Cloud Foundry Services with Spring: Part 2 - Auto-reconfiguration that when you deploy a Spring application, your use of data services will be detected, and your application will automatically be re-configured to use the cloud services available to your application. This works great for simple applications and demos, but if you have a serious production application you probably want to have more control. You also need more control if you have multiple services of the same type. Ramnivas hinted at this saying that you can opt out of auto-reconfiguration by…

This Week in Spring, November 8th, 2011

Engineering | Josh Long | November 09, 2011 | ...

Another fantastic week in the Spring community. Can you guys believe it's already the 8th of November? Where does the time go?

If you blink, we'll be in 2012 already! 
No time to waste - the year might change out from underneath us! - let's dive right into this week's roundup!

  1. Ramnivas Laddad, senior engineer on the Cloud Foundry project and a hero world wide to those who - like me - enjoy the use of AspectJ in their Spring applications, has put together a fantastic post shining a light on the specific support for services (like MySQL, PostgreSQL, and RabbitMQ) in Cloud Foundry. This is the second post in a series. Read the first one to learn about the basics of services on Cloud Foundry. Awesome posts with great details.
  2. This next post is among the posts that made me smile this week. Roy Clarkson and I did a talk at SpringOne 2GX a few weeks ago on native Android development practices with Spring. We sat down the night before our talk and ran through our deck and demonstrations, only to realize that - in the interim weeks since everything was originally prepared, the delicate spider's web of configuration required to get Eclipse (SpringSource Tool Suite), Maven, and Android all speaking to each other and working correctly had been... disturbed. We did the talk with a non-Maven build with great success, but it still irked us that we had to switch to a regular Eclipse build so that the talk could proceed. Roy, always intrepid and fearless, has since figured out the right permutations of configurations required to get this all working again and - generous guy that he is - he has documented everything in this blog. Check it out! (I know I did!)
  3. Tomcat Expert has another practical column on administering and developing with Apache Tomcat 7. The post explains how to take the default security configuration Apache Tomcat 7 to the next level with a bit of background on the configuration options available.
    <LI> Roger Hughes <a href="">introduces how to use JSR 250's <CODE>@PostConstruct</CODE> and <CODE>@PreDestroy</CODE> annotations</A> to replace the use of the corresponding Spring  callback interfaces, <CODE>InitializingBean</CODE> and <CODE>DisposableBean</CODE>.   </LI> 
    <LI>Michal Huniewicz explains <a href= "…

Updated Maven Support for Android Projects

Engineering | Roy Clarkson | November 07, 2011 | ...

It has been a while since my initial posts on using Maven with Spring Android, and the state of the tools has changed somewhat. With the recent release of the SDK for Android 4.0 and revision 14 of the Android Development Tools (ADT), Google made several changes that impacted the third party Maven plugin support for building Android projects. Fortunately, the teams behind the Android Maven Plugin, and the Android Configurator for M2E have been hard at work to support these latest changes in the Android tools. If you have tried to run the Spring Android Samples recently, then you probably noticed the projects would not build. In this post, I will illustrate the configuration changes necessary to utilize the latest Maven plugins and Eclipse support in the Spring Android Showcase project.

Android Maven Plugin

As of version 3.0.0-alpha-11, The Maven Android Plugin now has a new name, and is now called the Android Maven Plugin. The latest version, 3.0.0-alpha-13 fixes the build issue with Android SDK r14.

Update the Plugin

To update your plugin version, make the following changes to the artifactId and version.


Once modified, you can now run maven from the command line to build your project.

mvn clean install

Potential Build Errors

It is possible that your project will receive a few build errors when you try to build with the new plugin.


When I updated the Spring Android Showcase client, the build failed with the following:

[INFO] java.lang.OutOfMemoryError: Java heap space
[INFO] 	at…

Using Cloud Foundry Services with Spring: Part 2 - Auto-reconfiguration

Engineering | Ramnivas Laddad | November 04, 2011 | ...

If you watched the video for the Cloud Foundry launch event, you saw that we deployed the Spring Travel application downloaded from Spring Web Flow samples, bound a MySQL service to it, and dragged and dropped the application to the Cloud Foundry server in STS, without making a single line of change in the application itself. How’s that possible since the application is configured to use a local database? That’s when auto-reconfiguration comes into play.

Cloud Foundry strives to keep your initial investment low. Beyond dollars and cents, a real investment comes from the time that a developer…

This Week in Spring: November 1st, 2011

Engineering | Adam Fitzgerald | November 01, 2011 | ...

Wow! Last week's SpringOne 2GX event was sensational. It was an amazing time, and it was - as usual - great to see the Spring community going so strong. I can't wait until the videos from the event start to appear on

We've got a lot to cover this week, though, so let's get into it!

    Don't tell anyone, but even if you missed SpringOne 2GX, the decks for all the talks should be on, and the videos for all the talks will be on soon.

    To tide you over in the short term, the deck from SpringSource CTO Adrian Colyer's keynote - "Spring yesterday, today, and tomorrow" - is available online. Thanks Adrian!

     One of the many big announcements that came from the SpringOne2GX event was	 that of <a href= "">Neo4j 2.0</a>. 
            If you're…

This Week in Spring, October 18th, 2011

Engineering | Josh Long | October 19, 2011 | ...

What a week! If you're an enterprise Java developer, then you've no doubt heard the news - Spring 3.1 RC1 has just been released! Read on for more details and be sure to sound off on the forums if you have questions or feedback!

And, of course, if you're at SpringOne2GX 2011 next week, you can look forward to hearing a lot more on Spring 3.1 as well as the latest and greatest from all the Spring technologies. We look forward to seeing you all there!


  1. Spring 3.1.0.RC1 was released last week! And so begins the march to Spring 3.1 GA. Chris Beams kicked things off with this announcement. Then, Juergen Hoeller, Spring project lead, followed up with this blog post detailing the new features. The first release candidate of Spring 3.1 is now available from the Spring milestone repository or for direct download via community download page. This release includes new features such as:
    Support for Hibernate 4.0 (up to date with 4.0 CR4), 
    Complete <CODE>TestContext</CODE> framework support for <CODE>@Configuration</CODE> classes,
    Flash scope for Spring MVC, 
    Support for Quartz 2.0,  
    77 bug fixes, 16 new features, and 66 improvements. Wow! To learn more about what's new in Spring 3.1, be sure to <a href="">check out this document.</a>
      Martin Lippert today announced the <a  href="">release of SpringSource…

Upgrading Maven integration for SpringSource Tool Suite 2.8.0

Engineering | Andrew Eisenberg | October 18, 2011 | ...

UPDATE, Nov 23: We have released STS 2.8.1, that fixes many of the install/uninstall of m2eclipse issues that people were having. Read the release announcement. Now, it is possible to upgrade/downgrade m2eclipse easily. STS 2.8.1 fully supports both versions of m2eclipse.

Today, we released version 2.8.0 of the SpringSource Tool Suite. Along with an update to Eclipse Indigo SR1 (which brings you full IDE support for Java7), we also updated the Maven integration from the old and unmaintained m2eclipse versions 0.12.x to the latest version m2e 1.0 – which is now shipping as part of the…

Using Cloud Foundry Services with Spring: Part 1 - The Basics

Engineering | Ramnivas Laddad | October 13, 2011 | ...

Services offered in Cloud Foundry make writing efficient and effective applications possible. Developers can now choose just the right kind of services without worrying about operating those services. For example, a portion of an application can choose Postgres for the parts where transactional access is crucial, MongoDB where interacting with data as a collection of documents makes sense, Redis where key-value is the right abstraction, and RabbitMQ where messaging helps create effective architecture. In this four-part blog series, we will explore how Spring applications can use Cloud Foundry…

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