Spring Integration: a new addition to the Spring portfolio

Engineering | Mark Fisher | December 14, 2007 | ...

Yesterday morning I presented a 2-part session at The Spring Experience entitled "Enterprise Integration Patterns with Spring". The first presentation included an overview of core Spring support for enterprise integration - including JMS, remoting, JMX, scheduling, and email. That presentation also included a high-level discussion of several of the Enterprise Integration Patterns introduced in the book of the same name by Gregor Hohpe and Bobby Woolf. In the second presentation, I officially unveiled "Spring Integration" - a new addition to the Spring portfolio. Spring Integration builds upon…

Spring Web Services 1.5.0 M1 released

Releases | Arjen Poutsma | December 08, 2007 | ...

Dear Spring community,
I'm pleased to announce that Spring Web Services 1.5.0 M1 has been released.

Spring-WS Logo

Download | Reference documentation | API documentation

This milestone release introduces:

  • JMS transport support, for both client- and server-side
  • Email transport support, also for both client and server
  • Two new Spring namespaces, which drastically decrease the amount of XML to configure marshallers and typical Spring-WS constructs
  • SOAP 1.2 Compatible WSDL descriptor generation
  • Spring-WS jars are now OSGi bundles

Additionally, there are other minor improvements and bug fixes.

Spring-WS 1.5.0 M1 is the first milestone in the 1.5 series, which - in addition to the aforementioned features - will include support for WS-Addressing, WS-Security for the client-side and Java 1.4, @Endpoint component scanning, and more.

For more information, see Spring Web Services.

Spring LDAP 1.2.1 released

Releases | Ulrik Sandberg | December 08, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring LDAP version 1.2.1 has been released. This is an update release that adds a new pooling library and fixes a few problems that were in 1.2. Download | ChangeLog

A summary of the more important changes:

  • Added pooling library which features flexible connection validation and better configuration than the built-in pooling. Many thanks to Eric Dalquist for this contribution. (LDAP-85)
  • Fixed a problem in AbstractContextSource which led to an unnecessary reference to the LDAP Booster Pack (ldapbp). (LDAP-88, LDAP-89)
  • Fixed bug in SimpleLdapTemplate where the wrong target method was being called. (LDAP-93)
  • Made createContext in AbstractContextSource protected rather than package private. (LDAP-94)

About Spring LDAP
Spring LDAP is a Java library for simplifying LDAP operations, based on the pattern of Spring's JdbcTemplate. The framework relieves the user of the burden of looking up and closing contexts, looping through results, encoding/decoding values and filters, and more.

The LdapTemplate class encapsulates all the plumbing work involved in traditional LDAP programming, such as creating a DirContext, looping through NamingEnumerations, handling Exceptions and cleaning up resources. This leaves the programmer to handle the important stuff - where to find data (DNs and Filters) and what do do with it (map to and from domain objects, bind, modify, unbind, etc.), in the same way that JdbcTemplate relieves the programmer of all but the actual SQL and how the data maps to the domain model.

In addition to this, Spring LDAP provides transaction support, a pooling library, exception translation from NamingExceptions to a mirrored unchecked NamingException hierarchy, as well as several utilities for working with filters, LDAP paths and Attributes.

Spring-LDAP requires J2SE 1.4. J2SE 1.4 is required for building. J2EE 1.4 (Servlet 2.3, JSP 1.2) is required for running the example.

Where to start
Download the distribution from the link above. The distribution contains extensive JavaDoc documentation as well as full reference documentation and a sample application illustrating different ways to use Spring LDAP.

Home
The permanent home of Spring LDAP is at http://www.springframework.org/ldap.

History
Spring LDAP is based on the SourceForge LdapTemplate project. Users of LdapTemplate are advised to switch to Spring LDAP.

Mattias Arthursson & Ulrik Sandberg
Spring LDAP Project Team

What's New in Spring Security 2?

Engineering | Ben Alex | December 06, 2007 | ...

I was cruising the blogosphere today and encountered one of the shortest blogs I've ever read. To quote nearly the entire entry, "Every time you use Acegi, a fairy dies. The sad thing is there really isn't anything better around...".

Between our community forums, developer lists, JIRA, user conference BOFs, training, support, consulting and team blog, we receive a great deal of community feedback. There is little doubt that many people have sought improvements to the Spring Security (formerly Acegi) configuration format, and we've invested a lot of time in making that possible.

As I'll be presenting at next week's Spring Experience conference, Spring Security 2.0.0 M1 features tremendously simplified configuration. You will now be able to add Spring Security to your…

Spring Batch 1.0.0.m3 Released

Releases | Ben Hale | December 05, 2007 | ...

Spring Batch 1.0.0.m3 is now available via the Spring Portfolio Milestone Repository (browse).  See the Spring Batch downloads page for more information.

We have had a lot of good feedback from the community, and from a large number of Accenture projects that are using or evaluating Spring Batch.  So the 1.0.0-m3 release has quite a range of bug fixes and new features.  The main impact to existing users will be class name changes in the input and output abstractions.  New (non-Maven) users will find it much easier to get started with the new .zip assembly including all dependencies.  There is…

Spring Dynamic Language Support and a Groovy DSL

Engineering | Dave Syer | November 29, 2007 | ...

Since the introduction of Spring dynamic laguage support in Spring 2.0 it has been an attractive integration point for Groovy, and Groovy provides a rich environment for defining Domain Specific Languages (DSL). But the examples of Groovy integration in the Spring reference manual are limited in scope and do not show the features in Spring that are targeted at DSL integration. In this article I show how to use those features and as an example we add bean definitions to an existing ApplicationContext with a Groovy DSL from the Grails distribution.

Groovy Beans

The basic features of Spring dynamic language integration are exposed in the "lang" namespace in XML. The most straightforward thing you can do is to defined a Spring component as a Groovy bean, in a separate file or inline in the XML. This feature is covered in the Spring reference guide (http://static.springframework.org/spring/docs/2.5.x/reference/index.html

Spring Framework Maven Artifacts

Engineering | Ben Hale | November 26, 2007 | ...

By popular demand, the Spring Framework Maven artifacts are now being uploaded to the Spring Snapshot Maven Repository. You can find details about all of the Spring Portfolio Maven repositories in my previous post but I'll reprint the details for the Spring snapshot repository here.

The Spring Snapshot Maven Repository is located at http://s3.amazonaws.com/maven.springframework.org/snapshot. Using this repository requires you to add an entry to the <repositories/> element in your POM. It should look like this:


<repository>
    <id>spring-snapshot</id>
    <name>Spring Portfolio Snapshot…

Interface21 becomes SpringSource

Engineering | Rod Johnson | November 19, 2007 | ...

We're changing our name. This week, Interface21 will become SpringSource.

As we have built the company, Interface21 has earned a reputation for exceptional products, thought leadership, outstanding people, professionalism and top quality support and services. As we continue to deliver all of those things, we believe that changing our name will help our company bring them to a wider audience.

When I founded Interface21 in 2004, I had to pick a name. I believed Spring to be the future of enterprise Java, and "Interface21" reflected those feelings—the framework for the 21st Century. Now we’re…

Spring Framework 2.5 Released

Releases | Juergen Hoeller | November 19, 2007 | ...

Dear Spring Community,
 
We are pleased to announce that the Spring Framework 2.5 final release is now available.

Spring 2.5 RC1 Released

Download | Support | Documentation | Changelog 

Spring 2.5 enhances Spring 2.0 with many exciting new features, including:

  • Full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0)
  • Full-featured annotation-driven dependency injection, including support for 'qualifiers'
  • Support for auto-detecting application components in the classpath and auto-configuring them as Spring managed objects
  • A new bean name pointcut element in AspectJ pointcut expressions
  • Built-in support for AspectJ load-time weaving based on the LoadTimeWeaver abstraction
  • New XML configuration namespaces "context" and "jms", for maximum convenience
  • A completely revised integration test framework, with first-class support for JUnit 4 and TestNG
  • A new annotation-based controller model for Spring MVC supporting Servlet and Portlet environments
  • Extended SimpleJdbcTemplate functionality, including support for named SQL parameters
  • Officially certified WebSphere support
  • The packaging of Spring Framework jars as OSGi-compliant bundles out of the box
  • The ability to deploy a Spring ApplicationContext as a JCA RAR file, for headless application modules
  • JCA 1.5 message endpoint management, for Spring-managed JMS and CCI message listeners

Check out the series What's New in Spring 2.5? for a walkthrough of the new Spring 2.5 features, including information on how to deploy the Spring sample applications that demonstrate them.

We recommend upgrading to Spring 2.5 from all previous Spring 2.0.x versions in order to benefit from the new features as well as the significant performance enhancements that Spring 2.5 has to offer. Spring 2.5 is designed as a drop-in replacement for Spring 2.0, except for the slightly restructured jar file contents (please see the readme file in the distribution for more information on this).

Please note that Spring 2.5 is still compatible with JDK 1.4.2+ and J2EE 1.3+. Java 1.4 users, for example on WebLogic 8.1 or WebSphere 5.1/6.0, are very welcome to upgrade to Spring 2.5 as well.  We recommend putting the backport-util-concurrent jar on the classpath when running on Java 1.4, which allows Spring and your applications to benefit from significant concurrency enhancements.

Enjoy Spring 2.5,

Juergen Hoeller
Lead, Spring Framework Development

The Spring Web Flow 2.0 Vision

Engineering | Keith Donald | November 15, 2007 | ...

Spring Web Flow 2.0 M2 has just released. I am particularly excited about this release because it sets the foundation we need to realize the bold vision we have for our community for the future. In this entry, I'll explain what that vision is, and exactly what this foundation will enable. I'll also go into detail about the architecture of Web Flow 2.0, and compare it to the 1.0 version.

The Spring Web Flow 2.0 Vision

The goal of 2.0 is to evolve Spring Web Flow as a controlled navigation engine to offer significantly improved support for JavaServerFaces, flow managed persistence, and asynchronous event handling (Ajax) natively. The new Spring Faces project will build on Web Flow 2.0 to provide first-class support for JSF views in a Spring environment. In addition, Web Flow will continue to provide first-class support for Spring MVC-based views, allowing native JSF and MVC views to be used to full-power, even in the same application if desired.

* UPDATE: The vision above was updated on 1/11/08 after considering large amounts of feedback from the Spring community since The Spring Experience 2007. Based on that feedback, Spring Web Flow 2.…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all