The Spring Blog

Engineering
Releases
News and Events

Spring Framework 2.0 M4 Released

Dear Spring community,

We are pleased to announce that Spring 2.0 M4 has been released.  Download | Docs | Changelog

Spring 2.0 M4 is the fourth milestone of the next generation of Spring.

The new and noteworthy include:

  • updated JPA support
  • named parameter support for JDBC acces
  • refined XML schema namespaces
  • auto-proxying for FactoryBean-created objects
  • and many other refinements noted in the changelog.

This release also contains numerous fixes for issues discovered since M3.  Users of previous milestones are encouraged to update.  See the changelog for details on all M4 changes.

With this release we are approaching a feature freeze for the 2.0 production target, with only a few further features and refinements planned for inclusion in 2.0. The next release will be Spring 2.0 Release Candidate 1 (RC1), scheduled for May.

We will also release a 1.2.8 maintenance release within a few days, backporting all applicable fixes from 2.0 M4. (This is already available from mbranch-1-2 in CVS, awaiting final tests.)

Enjoy and keep the feedback rolling in,

Juergen
—–
Juergen Hoeller
Lead, Spring Framework Development
Chief Architect, Interface21
http://www.springframework.org
http://www.interface21.com

Read more...

Another Reason to Love Spring 2.0: Interceptor Combining

Recently I was working on a project that had a Swing client communicating via RMI to a service layer. The service layer was marked with transactions and everything seemed to work fine. However everytime we’d get an exception at the Hibernate DAO layer, Spring would turn the exception into a runtime exception and it would get propagated all the way up the stack and across the RMI connection as a RemoteException. Whenever the exception was deserialized there would be an exception on the client (separate from the RemoteException.The decision was taken to simply introduce an aspect. Any exception that subclassed ServiceAccessException would be let through to the client while anything else would be converted to a FilteredServiceAccessException (a subclass of ServiceAccessException) and then be thrown. This led to some loss in content, so we made sure to log the original exception on the server where it could be useful and let the client show a generic dialog so the user knew generally what had happened.

Read more...

Spring 2.0's JMS Improvements

With the release of Spring 1.1 the Spring community was given it’s first taste of JMS support. This support included exception translation, message conversion, and a template class much like JdbcTemplate. This support also took care of domain unification between the JMS 1.0.2 and 1.1 specs. The centerpieces of this support are the JmsTemplate class and it’s JMS 1.0.2 counterpart JmsTemplate102.

This support was a great improvement over using the raw JMS APIs to do enterprise messaging. However it did have a shortcoming; the JmsTemplate only supported synchronous reception of messages using the JmsTemplate.receive() methods. This behavior worked well for many people but the vast majority of users of ended up rolling their own implementations of an asynchronous consumer. In short, they wanted what EJB 2 called Message Driven Beans.

Read more...

POJO Aspects in Spring 2.0: A Simple Example

While the material in this post is quite simple, it will actually offer a glimpse of some rather significant new features in Spring 2.0. I hope that with a little imagination, you will be able to apply what you see here to far less trivial use cases of your own.

I am going to show 2 examples actually. The first will use a rather simple logger:


package example; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class SimpleLogger { private static Log log = LogFactory.getLog(SimpleLogger.class); public void logOneString(String s) { log.info("string=" + s); } public void logTwoStrings(String s1, String s2) { log.info("string1=" + s1 + ",string2=" + s2); } }
Read more...

Inaugural Sydney Spring User Group Meeting

Over 200 people registered to attend the inaugural Sydney Spring User Group meeting, which was held on 22 February 2006. As shown by the photos (below), there was standing room only, and several attendees flew in from interstate for the evening.

With one-third of those attending indicating they do not presently use Spring, Rod Johnson's “Introduction to Spring” presentation was well-received and motivated many questions. The planned “Spring 2.0 and Beyond” talk – which undoubtedly will be of keen interest to those who are currently using Spring – was rescheduled until the next meeting.

Read more...

Acegi Security System for Spring 1.0.0-RC2 Released

Acegi Security System for Spring, v1.0.0 RC2 has now been release. Ben Alex’s announcement from the mailing list is posted below:

—–

Dear Spring Community

I’m pleased to announce that Acegi Security release 1.0.0 Release Candidate 2 is now available. This release includes over 50 improvements and fixes since 1.0.0 RC1, including comprehensive new LDAP capabilities. We recommend that users upgrade to 1.0.0 RC2 in order to take advantage of these improvements. Upgrading to 1.0.0 will also assist us in identifying any issues as we move towards our final 1.0.0 release.

Please visit the changelog for detailed information on changes and fixes. As always, detailed upgrade instructions are included in the release ZIP file.

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

We hope you find this new release useful in your projects.

Cheers
Ben

Read more...

Spring Framework 2.0 M2 released

Dear Spring community,

I am pleased to announce that Spring 2.0 M2 has been released.

Download it here.

Spring 2.0 M2 is the second milestone of the next generation of Spring. This release includes enhancements and new features, including refined AspectJ support and Java Persistence API (draft) support.  It also contains fixes for issues discovered since 2.0 M1.

Please see the changelog for details.

Spring 1.2.7 will also be released shortly, backporting a number of fixes and minor enhancements from 2.0 M1/M2, and providing the 1.2 series basis for the upcoming Spring Web Flow 1.0 release candidate.  The next Spring release in the 2.0 series will be 2.0 M3. Please review the roadmap for more detailed information.

Cheers,

Juergen
 
—–
Juergen Hoeller
Interface21 Ltd
http://www.springframework.com

Read more...

Spring IDE 1.2.5 Released

Dear Spring Community,

We are pleased to announce that Spring IDE 1.2.5 has been released.
With this release of Spring IDE version 1.0.0 of the BeansXmlEditor is shipped. Additionally a few bugfixes and usability enhancements are provided. For a complete list of bugfixes and enhancements included visit http://springide.org/project/milestone/Release%201.2.5

Changes:

  • XML parser Xerces updated to version 2.7.1
  • bugs in BeansConfigValidator fixed:
    • check for no-arguments-constructor skipped for attribute ‘autowire="constructor"’
    • skipping placeholders in classes and property names
    • init-method and destroy-method are validated now
    • required default constructor are validated now
  • more suitable icons in the BeansView and the outline view of BeansXmlEditor
  • new entry in BeansView context menu for opening the selected node in an text editor
  • changes to BeansXmlEditor:
    • descriptive icons in outline view instead of verbose text
    • new toolbar action in outline view for alphabetically sorting
    • new entry in outline’s context menu for toggeling the outline style between Spring-style and standard XML-style
Read more...

Spring Framework Training Summary (January)

Interface21 is pleased to offer a number of Spring Framework training events in the upcoming period, delivered by core Spring Framework developers. For full details, please visit the main training information page. Here is a summary of the upcoming courses and venues:

  • Core Spring: January 24th - 27th, London, UK
  • Core Spring: February 14th - 17th, Oslo, Norway
  • Core Spring: February 28th - March 3rd, Washington, DC
  • Core Spring: March 14th - 17th, Paris, France
  • Core Spring: March 27th - 30th, Istanbul, Turkey
  • Core Spring: March 28th - 31st, Chicago, IL
  • Core Spring: March 28th - 31st, London, UK
  • Core Spring: April 25th - 28th, Antwerp, Belgium
  • Core Spring: April 25th - 28th, Stockholm, Sweden
  • … plus others
Read more...

Spring Framework 2.0 M1 released

The beginning of the next season of Spring is here:  Spring Framework 2.0 M1 has been released.

Download it here.

Important new features include:

  • Simplified, extensible XML configuration
  • Powerful new Spring AOP features and AspectJ 5 integration
  • Asynchronous JMS facilities enabling message-driven POJOs
  • Spring Portlet MVC, a MVC framework for JSR-168 Portlets
  • … and much, much more

Spring 2.0 remains 100% backwards compatible with Spring 1.2 and continues to run on Java 1.3 and greater.

A word on the new configuration enhancements: Spring 2.0 uses XML Schema to support the definition of tailored application configuration schemas.  The M1 release ships convenient XML tags that greatly simplify the definition of declarative transactions, JNDI lookups, custom aspects, and common utility services such as loading properties files.

Read more...