As some of you will have noticed already, Spring 2.5 RC1 has finally been released on Monday and is waiting for you to give it a test drive! Spring 2.5 is in many ways the release that completes Spring 2.0’s mission: providing the most flexible and most comprehensive configuration model for both Java 1.4 and Java 5. Spring 2.5 focuses on particularly comprehensive support for Java 5, introducing various further annotations options. I’d like to take the opportunity to point out the unifying themes behind this release:
The Spring Blog
Dear Spring community,
I’m pleased to announce that the first Spring Framework 2.5 release candidate is available! Spring 2.5 is the culmination of the effort that started as Spring 2.1 milestones, enhancing Spring 2.0 with many new features, such as:
- full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0, etc)
- full-featured annotation-driven dependency injection (including support for ‘qualifiers’)
- support for component scanning in the classpath (autodetecting annotated classes)
- bean name pointcut element in AspectJ pointcut expressions
- built-in support for for AspectJ load-time weaving (based on the LoadTimeWeaver abstraction)
- further XML configuration namespaces ("context", "jms") for maximum convenience
- completely revised framework for integration tests (with support for JUnit 4 and TestNG)
- new annotation-based controller style for Servlet MVC and Portlet MVC
- extended SimpleJdbcTemplate functionality (support for named parameters etc)
- officially certified WebSphere support (support for the WebSphere 6 UOWManager facility)
- Spring framework jars are shipped as OSGi-compliant bundles out of the box
- Spring ApplicationContext can be deployed as JCA RAR file (for headless application modules)
- JCA 1.5 message endpoint management (for Spring-managed JMS and CCI message listeners)
You may have seen some of the recent press surrounding the announcement that Interface21 is partnering with Tasktop to create a “Spring Tool Suite”. This suite will bring together Spring IDE, the AspectJ Development Tools (AJDT), AspectJ, and Mylyn to create a task-focused approach to the development of Spring-powered enterprise applications. We hope to have a preview of the integrated suite available to share with you at the forthcoming The Spring Experience conference, but in the meantime you’ll see many of the improvements flowing into the existing Spring IDE, AJDT, AspectJ, and Mylyn open source projects.
At last month's Gartner Open Source conference, analysts declared that open source had permeated a significant amount of the global software market. The details were highlighted in a recent Matt Asay blog that quotes the eWeek article. eWeek writes: “open-source products accounted for a 13 percent share of the $92.7 billion software market in 2006, but should account for 27 percent of the market in 2011 when revenue is expected to be $169.2 billion.”
At the same time, Gartner analysts Massimo Pezzini and Yefim Natis have published a report highlighting an important vein of disruption currently underway in the middleware and transaction processing markets. The September 24, 2007 report, titled “Trends in Platform Middleware: Disruption is in Sight,” highlights more than a dozen trends that “will disrupt the apparently static application server and transaction processing markets” and warns that “platform middleware users and vendors will be impacted and must delineate proper survival strategies.” Spring prominently is mentioned in four of the top 11 trends.
Dear Spring Community,
We are pleased to announce that Spring Web Flow 1.0.5 has been released. This is a bugfix and minor improvement release addressing all issues reported against 1.0.4. We recommend users upgrade to 1.0.5 from previous 1.0.x versions.
Spring Web Flow is a next generation Java web application controller framework. The framework provides a powerful system for implementing navigation logic and managing application state consistently across a variety of environments.
Dear Spring community,
I’m pleased to announce that Spring 2.0.7 has been released.
Spring 2.0.7 is a bug fix and minor enhancement release in the Spring 2.0 series, addressing all issues reported since 2.0.6 and backporting various refinements from 2.1 M4.
Lead, Spring Framework Development
Interface21 - http://www.interface21.com
As I’ve posted before, Interface21 is getting involved with the Java EE 6 effort, and various of our folk including myself, Juergen Hoeller, Keith Donald and Rob Harrop will be involved in a number of expert groups.
This means that we’re getting more involved with the JCP in general. We respect the confidentiality and other provisions of the JCP, so we won’t talk about anything that isn’t public. However, I would like to talk about our goals for JCP involvement and the fundamental approach we will bring. Of course we are just one company among many companies and individuals, so we will just be one voice, but this is what that voice will be seeking:
We are pleased to announce that Spring Batch 1.0 M2 has been released! This milestone release introduces:
- A set of Core APIs that can be used for configuring and building batch applications.
- An execution environment and utilities for managing and monitoring multi-step jobs in a single virtual machine.
- Packaging the framework into three pieces: infrastructure, core and execution.
Spring 2.5 features a new pointcut designator – bean() that allows selecting join points in beans with a matching name pattern. Now it is possible to use the auto-proxy mechanism along with Spring-AspectJ integration to select a specific bean even when there are more than one beans of a type. Earlier, you could use BeanNameAutoProxyCreator to achieve a similar result; however, that mechanism didn’t work with Schema-style or @AspectJ aspects.
Besides selecting a specific bean, this pointcut designator offers two interesting ways to select beans if you follow an appropriate naming convention:
In the aptly titled Nonsense about Interface21, a SourceLabs employee disagrees with my contention that commit rights are necessary to provide credible open source support.
Before I reply: I want to make again something completely clear that I already stated in my last blog, but seems to have been misinterpreted by some: Interface21 has no desire to prevent others making money from Spring. Our track record proves that. We welcome others writing about Spring and providing Spring services. Or basing products on Spring, like Matt Raible’s AppFuse. We wish them success. Spring has partly gotten where it’s gotten to through the richness of the ecosystem around it. As technologists and as a company we have always fostered that and we always will.