The Spring Blog

News and Events

Spring Integration in Grails (Part 1)

Spring Integration last week went 1.0 GA and so, inspired by Adrian’s keynote (no, not the Monty Python sketch, just the Grails live-coding example) from SpringONE Americas, I thought it would be fun to show how to take advantage of Spring Integration in the slightly different setting of a Grails application.

Please note: This is a cross post from my own blog @

This series of articles will look at how to add Spring Integration to Grails in a number of configurations that will eventually lead to a full Grails plugin for Spring Integration. More like an online diary, you’ll get the chance to see how we take our first steps by bootstrapping Spring Integration into a Grails application, through using some of the more advanced features of Spring Integration to bridge messages across diverse infrastructures, to finally applying this experience to create a Grails plugin that you can use to quickly and easily add Spring Integration to your own Grails projects.


First Spring Framework 3.0 milestone released

I’m pleased to announce that Spring Framework 3.0 M1 is finally available for download!

This release features several major changes, including a start of the major 3.0 themes such as EL and REST support:

  • revised project layout and build system with module-based sources
  • updated entire codebase for Java 5 code style (generics, varargs)
  • updated to JUnit 4.5 and JRuby 1.1
  • introduced Spring EL parser (org.springframework.expression package)
  • introduced support for #{...} expressions in bean definitions
  • introduced expression-enabled @Value annotation for embedded expressions
  • introduced @PathVariable annotation for URI template handling in MVC handlers
  • introduced default value support for @RequestParam in MVC handlers
  • introduced @RequestHeader annotation for HTTP header access in MVC handlers
  • introduced AbstractAtomFeedView and AbstractRssFeedView base classes
  • introduced <spring:url> and <spring:param> JSP tags

The cat is out of the bag – tc Server announced

We just announced a new product called the SpringSource tc Server this week at the SpringOne Americas conference. Springsource tc Server is an enterprise-class web application server based on Apache Tomcat.

Although SpringSource is not the first company to build a product around Apache Tomcat (WebSphere Community Edition and JBoss both embed versions of Tomcat in their J2EE application servers and the developer release of JBoss Web 2.1.1 also embeds Tomcat), tc Server is unique in that it preserves the Tomcat servlet/JSP programming model. Applications written to Tomcat are 100% portable to tc Server and vice versa.


Spring IDE 2.2.1 released

Dear Spring Community,

I’m pleased to announce that we have released Spring IDE 2.2.1. This version is mainly a bugfix and maintenance release but has some significant user level changes as well.

Get more information at the Spring IDE blog

Watch out for more tooling related announcements from SpringOne during the upcoming week.


Deploying GWT Applications in SpringSource dm Server - Part 2


This is the second in a series of three blogs describing a step-by-step approach to building and deploying GWT applications in the SpringSource dm Server™. The first blog looked at the process of creating a simple WAR file from a sample GWT application. This next blog will look at turning the WAR file we created in Part 1 into a “Shared Libraries” WAR. This means that we are going to externalize the GWT dependencies of our application into an OSGi bundle so that it can be shared by any number of GWT applications. You can think of it as extending our dm Server with GWT remoting capabilities.


Diagnosing OSGi uses conflicts

In his recent blog entry, Glyn provided an introduction to the OSGi “uses” directive. In this blog, I want to dig a little deeper into the causes of uses constraint violations and present some tips for diagnosing uses problems in your applications.

For most of the examples I’m going to be using raw Equinox and not dm Server. The reason for this is that uses constraints are not specific to dm Server but are relevant to all OSGi users. At the end of this blog, I’ll demonstrate some of the smart constraint failure diagnostics built into dm Server.


First Grails Release Under the SpringSource Banner

I’m pleased to announce the first release of Grails since the acquisition of G2One by SpringSource. Grails 1.0.4 includes a number of improvements as well as upgrades to key libraries that underpin Grails and can be downloaded from the Grails download page. More specifically Grails 1.0.4 ships with the latest Spring 2.5.6 release that came out a week or so ago.

Beyond the improvements there are a couple of interesting new features in this release. The first is the addition of a feature that better supports mapping of Hibernate user type definitions in GORM. You can now map custom user types onto multiple columns, including the ability to customize the underlying SQL type: