The Spring Blog

Engineering
Releases
News and Events

Replies to Nonsense about Open Source

My blog a couple of months ago about models of open source businesses seems to have struck a chord. I’ve had many positive responses, and it prompted an interview request from a site called “How Software is Built”. My interview is here.

Finally someone from OpenLogic has posted an interesting reply. Bryan Noll left some comments in a reply to my blog that merit a proper response.

First and foremost, I think your assertion that it is not healthy for a project or open source in general when people who have no real investment in a particular project offer support for it is an interesting one… one I've not heard before. I think there's enough validity to it to make a company like ours consider it and genuinely examine our responsibility to the open source projects we support. The result of this examination, in my mind, would be a demonstrable policy OpenLogic would have in order to mitigate the potential concerns you're raising. I'm sure I don't know what exactly that would be, so allow me to be vague at this point. This dovetails nicely though into some of the issues I have with what you're saying.
Read more...

Maven Artifacts

Up to this point the Spring Portfolio Maven artifacts, especially the snapshots, were inconsitently created and scattered about in various locations. Over the past couple of weeks, we’ve been working to get the projects to be more consistent in the creation and uploading of these artifacts.

Maven Repositories

One of the most useful improvements to the Maven support in the Spring Portfolio is the use of consistent repository locations. There are three different repositories depending on your level of comfort with the code.

Read more...

Spring Framework 2.1 M4 Released

Dear Spring Community,

I’m pleased to announce that Spring Framework 2.1 M4 has been released! This milestone release introduces:

  • ‘qualifier’ annotation support for choosing a specific @Autowired match;
  • our next-generation Spring TestContext Framework with support for JUnit4;
  • SimpleJdbcCall operation object for stored procedure calls;
  • support for autowiring of scripted objects (Groovy, JRuby, BeanShell);
  • support for Tiles2 views in Spring Web MVC.

Spring 2.1 M1 Released

 

Which leads me to some further exciting news…

Read more...

Spring Framework 2.1 turns into Spring Framework 2.5!

My first blog post - and what a big announcement to make :-)

After a series of Spring 2.1 milestone releases, we’ve been reviewing the overall set of features that we introduced:


  • 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 ‘qualifier’ annotations)

  • 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 Spring’s LoadTimeWeaver abstraction)

  • further XML configuration namespaces (“context”, “jms”) for maximum convenience

  • extended SimpleJdbcTemplate functionality (support for named parameters etc)

  • officially certified WebSphere support (support for the WebSphere 6 UOWManager facility etc)

  • 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)

  • completely revised framework for integration tests (with support for JUnit 4 and TestNG)

Read more...

Interface21 Mentioned in Testimony Before Congress

Interface21 got mentioned in testimony before Congress.

Jonathan Silver, a venture capitalist and founder of Core Capital Partners, testified on Thursday against proposed changes in tax rates applying to VCs. One of his arguments was that venture-based companies create jobs across the US:

Where will the next important businesses come from? The truth is, no one knows and that’s why venture capitalists look everywhere, and in all fifty states, for those opportunities. It’s why venture funds have backed Music Nation in New York City and Incept Biosystems in Ann Arbor, Michigan, Interface21 in West Melbourne, Florida, Boston Power in Westborough, Massachusetts and Click Forensics in San Antonio, Texas.
Read more...

First Milestone of the Next Generation Version of Spring Web Flow Released

Dear Spring Community,

We are pleased to announce that the first milestone of the next generation version of Spring Web Flow is now available.  Spring Web Flow 2.0 M1 introduces several major new features, including support for flow-managed persistence contexts, improved support for Java Server Faces, full unified expression language (EL) support, and a more comprehensive sample web application.

 

Spring Web Flow 2.0 is a next generation framework for developing Java web application controllers.  The framework offers a unified runtime for executing stateless and stateful client interactions across a variety of environments.

Read more...

Spring Web Services 1.0 Released

After two years of development, we are pleased to announce that Spring Web Services 1.0 is now available.

Spring-WS Logo

Download | Reference documentation | API documentation

Spring Web Services is a product of the Spring community focused on the creation of document-driven, contract-first web services. The key features of Spring Web Services include…

  • Making the best practice the easy practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation.
  • Powerful mappings: You can route an incoming XML request to any handler depending on message payload, SOAP Action header, or XPath expression.
  • XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies.
  • Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream.  Because it is a separate module, you can use it in other environments as well.
  • Reuse of your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which gets you up-and-running quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC.
  • Support for WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them. And it integrates with Spring Security!
Read more...

Amsterdam Java Meetup Q307, September 21st

It’s time for the next Java Meetup again. I decided to postpone the 7th installment of this quarterly event in Amsterdam until right after summer, because most people here in The Netherlands take a couple of weeks off in August or so.

I’ve looked at our internal schedules and it seems September 21st is the only day left in September, so I hope it fits with other people’s schedules as well.

We’ll be doing it at the same location as last April’s meetup, as this is pretty convenient for us and everybody seems to be fine with it. The first Java Meetup ever was held in my favorite Amsterdam hangout, the Wijnand & Fockinck, but we quickly realized this is way too small to accommodate for 50 to 100 people and moved to the Jaren.

Read more...

Spring Framework 2.1 M3 Released

Dear Spring Community,

I’m pleased to announce that Spring 2.1 M3 has been released!

This is the third milestone release in the Spring 2.1 series, introducing autowiring for collections, the "bean(name)" pointcut element, various JDBC enhancements, JRuby 1.0 support and many refinements all over the framework.

Spring 2.1 M1 Released

 

Please see the changelog and JIRA roadmap for more details on the new features introduced in this release.

FYI, we have also released 2.0.7 snapshots, containing backported fixes from 2.1 M3. Please give a recent snapshot a try as a drop-in replacement for 2.0.5/2.0.6! The official 2.0.7 release is scheduled for August 15th. 

Read more...

Debunking myths: proxies impact performance

In a recent blog entry Marc Logemann touches on the subject of proxy performance. In his entry he asks for a white paper by ‘the Spring guys’. I don’t want to spend (p)ages and (p)ages on discussing the differences up to the nanosecond between proxies and byte code weaving mechanisms, but I do think it’s valuable to re-iterate once again what the differences are and whether or not this discussion matters at all.

What are proxies and why do we use them?

Let’s first shortly revisit what proxies are used for (in general, and in Spring). According the Gang of Four (GoF) book on Design Patterns a proxy is a surrogate object or placeholder for another object to control access to it. Because the proxy sits in between the caller of an object and the real object itself, it can decide to prevent the real (or target) object from being invoked, or do something before the target object is invoked.

Read more...