InfoQ

News

Spring 2 Final Released - Downloads overload servers

Posted by Floyd Marinescu on Oct 03, 2006

Community
Java
Topics
Transactions Processing ,
AOP ,
Application Servers
Tags
Spring
After nearly a year since the first announcements, Spring 2 final has gone live. Soon after the release their servers became unavailable due to all the downloads, but the problem has been corrected. :) Spring 2 adds new simplified and extensible XML configuration, AOP enhancements and AspectJ integration, asynchronous JMS,  first class JPA support, dynamic language support, OSGi, portlet support and MVC enhancements.  A landing page for all things Spring 2 has been setup at: springframework.org/go-2.0.

Since launch, InfoQ has provided the most detailed coverage of the features in Spring 2 anywhere on the Internet. We invite you to check out Spring 2 features (see infoq.com/spring) in detail in some of our recent content and coverage:
Recently Spring also announced that Neelan Choksi (former co-founder of Solarmetric who'se Kodo ORM was bought by BEA) is joining Interface 21, and that Oracle is certifying that Toplink Essentials JPA implementation works with Spring 2 and Spring 2 is shipping with TopLink included.

Released to the press, Spring core developer Keith Donald, summarizes the new features:
  • Extensible XML configuration, built around XML schema, with the ability to create namespaces defining custom elements that can be reused as building blocks. This feature enables many common tasks to be simplified through custom tags shipped with Spring itself, organized into namespaces around areas such as AOP, Java EE integration and transaction management. It also provides a major benefit for the many third party products that use Spring internally, such as Mule, and is important to large enterprise users who want to define configuration extensions for use across very large projects.
  • Major improvements in Spring's support for Aspect Oriented Programming (AOP). Spring 2.0 evolves Spring's AOP framework to take advantage of the powerful AspectJ pointcut expression language, which provides a sophisticated way of identifying points in the execution of an application to which aspect behavior should apply. Spring 2.0 allows Spring users to leverage the powerful and elegant AspectJ programming model with the Spring runtime, preserving the zero cost of adoption of Spring AOP. The AspectJ programming model delivers many advantages beyond interception-based programming models, such as type-safe matching, avoiding the potential for brittle assumptions regarding method arguments and return types. Through enabling key elements of the AspectJ programming model "natively" in the Spring Framework, Spring users gain the unique advantage of a single programming model for all AOP requirements, being able to use the same concepts and constructs if they choose to use AspectJ in addition to Spring. Spring 2.0 provides a complete roadmap for AOP usage, meeting the needs of all users, whether or not they simply want to use Spring’s out of the box declarative services such as transaction management, want to use Spring AOP for custom aspects or want to use AspectJ for the most demanding AOP scenarios.
  • Improved functionality for JMS messaging, including a sophisticated capability for asynchronous message consumption both within and outside a J2EE environment. The latter supports local JMS transactions as well as XA transactions, and can be integrated with any kind of thread pool through Spring 2.0's new TaskExecutor abstraction.
  • Numerous features designed to take advantage of language improvements in Java 5 for customers who have already updated their environments.
  • The extension of the Spring component model to support dynamic languages running on the JVM, including JRuby, Groovy and BeanShell. As of Spring 2.0, the Spring component model is cross language, and any Spring bean can be coded in a choice of languages. Regardless of language, all Spring components enjoy the full range of Spring services, such as Dependency Injection and enterprise services such as declarative transaction management and JMX export.
  • Improvements in Spring MVC web framework, including additional defaulting and a new JSP tag library that simplifies form authoring.
  • Addition of a Portlet MVC framework that provides similar benefits to Spring MVC for developing Portlet-based web applicwations. This has been one of the most common requests from the Spring community.
  • First-class integration with the Java Persistence API (JPA) standard for object-relational mapping, with Spring able to provide both the Java SE and Java EE contracts for hosting a JPA persistence provider, and processing JPA annotations such as @PersistenceContext. This extends Spring’s comprehensive architectural solution to data access to span an important new technology.
  • Numerous enhancements in the core Inversion of Control container, including the addition of custom scopes for Spring beans (with HTTP session and request scopes out of the box), and further extension points for use by the growing number of third party frameworks building on Spring, including the Pitchfork project used in the next release of WebLogic Server.
"We believe that version 2.0 going GA is a major advance for Spring Framework users and enterprise Java overall," said Rod Johnson. Rod continued:
The Spring Framework pioneered the concept of developing sophisticated applications from plain Java Objects (POJOs), and continues to set the benchmark for POJO development. The fact that Spring 2.0 is backward compatible confirms the power of what we call a 'non-invasive' POJO-based programming model, and the quality and flexibility of the Spring Framework's architecture. Users who have invested in applications built on Spring can rely on us for a stable upgrade path."
On next steps, Keith Donald told InfoQ:
We're going to follow this up with more 2.0 examples and screencasts on www.springframework.org/go-2.0.  We're working with the Maven 2 team to get the 2.0 jars in the Maven 2 repository as soon as responsibly possible.  Spring Web Flow 1.0 final will follow next week, with 1.0 RC4 going out tommorrow to leave time for any lingering issues there.
Congrats Spring team!
Mule and Spring in the same week by John Davies Posted Oct 3, 2006 6:28 PM
Minor correction by Neil Bartlett Posted Oct 4, 2006 3:41 AM
Re: Minor correction by Rod Johnson Posted Oct 4, 2006 4:07 AM
  1. Back to top

    Mule and Spring in the same week

    Oct 3, 2006 6:28 PM by John Davies

    What a week, it could only be topped by Sun releasing JSE 6. Well done Rod Spring folk!

    -John-

  2. Back to top

    Minor correction

    Oct 4, 2006 3:41 AM by Neil Bartlett

    OSGi support is not in Spring 2.0, it is currently on the plan for version 2.1.

  3. Back to top

    Re: Minor correction

    Oct 4, 2006 4:07 AM by Rod Johnson

    Neil,

    Yes, OSGi integration will follow Spring 2.0. It is scheduled for inclusion in Spring 2.1, but a separate download should be available in the meantime. Spring 2.0 itself does contain a number of minor changes required to work well with OSGi, so some of the background work has already been done in the Spring core.

    Rgds
    Rod

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.