The Spring Blog

News and Events

Acegi Security 1.0.4 Released

Acegi Security 1.0.4 is now available.

There are over 50 issues addressed in this release. Existing user can upgrade to release 1.0.4 with a simple JAR drop.

Please visit for a detailed changelog.

The project’s web site at provides additional information on Acegi Security’s features, access to online documentation, and links to download the latest release.

Please note that the next release of Acegi Security will be known as Spring Security 2.0.0 M1. We anticipate releasing this within the next 7-14 days, and it will offer Spring 2 namespace support.


Spring Web Flow Java One 2007 Demo

When Sun scheduled my JavaOne 2007 session on Spring Web Flow for Friday, the last day of the conference, I wasn’t sure what to expect. I was honored to have been accepted again this year, but I wondered what I would see in terms of attendance presenting on the last day of the 4-day conference.

I could not have been more pleased with how things transpired. When I checked in at speaker setup on Thursday 800 people had pre-registered for my Friday session. Fifteen minutes before my talk was to begin the room had reached that number. In the end, 1000 JavaOne attendees came to room 307-310 of the Moscone center to experience an adrenaline-powered Spring Web Flow test drive.


Annotation-Driven Dependency Injection in Spring 2.1

Spring 2.0 introduced annotation support and annotation-aware configuration options that can be leveraged by Spring users who are developing with Java 5 (or later versions):

@Transactional for demarcating and configuring transaction definitions
@Aspect (AspectJ) for defining aspects along with @Pointcut definitions and advice (@Before, @After, @Around)
@Repository for indicating a class that is operating as a repository (a.k.a. Data Access Object or DAO)
@Required for enforcing annotated bean properties are provided a value

Spring Framework 2.1 M1 released

Dear Spring Community,

We are pleased to announce that Spring 2.1 M1 has been released.  This is the first milestone release in the Spring 2.1 series, introducing major new features including annotation-based configuration, JCA-based message endpoint management, new "context" and "jms" XML configuration namespaces, and JDK 1.6 and Java EE 5 support.

Spring 2.1 M1 Released

See the associated press release for an overview of the major themes of the 2.1 release. Subscribe to the Interface21 Team Blog for discussion and examples of the new features.


Spring LDAP 1.2 RC1 released

Dear Spring community,

We are pleased to announce the first release candidate of Spring LDAP 1.2, with a number of features and bug fixes. Only the most important are listed here. For a complete listing, please see the changelog.
The release is available for download here.

  • Implemented client-side transaction support for Spring LDAP. See reference documentation for further information (LDAP-29).
  • Changed the exception hierarchy to be an unchecked mirror of the JNDI NamingException hierarchy (LDAP-4).
  • Exceptions thrown by Spring LDAP are now always Serializable, regardless of whether the wrapped NamingException is (which is not always the case) (LDAP-14).
  • Rewrote LdapEncoder.nameDecode() to solve problem with national characters and remove regular expression used in parsing, drastically improving Distinguished Name parsing performance as a bonus (LDAP-30).
  • Upgraded to Spring 2.0.4 internally. Spring 1.2.x is still supported (LDAP-35, LDAP-51).

Spring Web Flow Bean Scopes and JSF

I’ve recently finished up an interesting issue in Spring Web Flow. This issue (SWF-163) dealt with adding Spring 2.0 bean scoping support for Spring Web Flow’s internal scopes. The implementation isn’t really that interesting (the Scope interface is pretty easy to implement after all), but I wanted to mention exactly how you would use something like this in your application.

Spring 2.0 Scoping

In Spring 1.x, we had the idea of singleton and prototype bean scopes, but the notation was fixed and not especially descriptive with singleton=“[true | false]”. So in Spring 2.0, this notation was removed from the XSD style of configuration and now you see a notation that is more clear with scope=“[singleton | prototype | …]”. Spring itself adds three more bean scopes; request, session, and globalSession which are related to web applications.


Spring Framework 2.0.5 released

Dear Spring Community,

We are pleased to announce that Spring 2.0.5 has been released.  This is is a bugfix and enhancement release in the Spring 2.0 series, addressing all issues reported since 2.0.4 and introducing further concurrency improvements. We recommend to upgrade to Spring 2.0.5 from all previous 2.0.x releases.

Spring 2.0 Released


Please see the changelog and JIRA roadmap for all the details of the 63 issues addressed in this release.

Juergen Hoeller
Lead, Spring Framework Development
Interface21 -


Spring Batch


I’ve been working hard with a couple of clients on a new product called Spring Batch. The aim is to provide tools and applications to support bulk processing in an enterprise environment. Spring Batch is part of the Spring Portfolio with an initial release in the Spring 2.1 release train.

The original impetus to build some prototype code actually came independently from a number of Interface21 clients. This provides some useful additional detail and some constraints on the implementation so that it can be applied to the real-world problems posed by the clients. I hope that this article will stimulate some more interest and provide feedback on the general approach.


Power Combination: SCA, OSGi, and Spring

No, that’s not my headline, it’s actually the title of a white paper recently published by Open SOA collaboration. To quote from the news announcement accompanying the whitepaper:

“Based upon user feedback, the OSOA Collaboration are publishing a white paper highlighting the powerful combination of the SCA, Spring and OSGi technologies aimed to help Developers simplify the creation and composition of services critical to building applications based on an SOA approach.”


The white paper provides a short overview of SCA, OSGi and Spring, and then describes how they can be used together. Quoting from the summary:


Querying and Downloading from Amazon S3

In a previous post, I described how we use a custom ANT task to upload nightly snapshots from the ANT based projects in the Spring portfolio. In this post I’ll describe how we use Amazon S3 to generate pages for the snapshots from each project and allow users to download the snapshots.

As I mentioned in the previous post, S3 is primarily used as a REST-ful service. This means that while I used Java for the upload portion, I was free to use other languages for the download portion. I chose to use PHP in this case because it was already available on the server I was working with, and was the path of least resistance.