The Spring Blog

Engineering
Releases
News and Events

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...

Grails and Maven: a Marriage of Inconvenience

Introduction

Grails seems to be going from strength to strength, and it looks like it definitely “has legs”, as they say. I am quite interested in stretching those legs a little outside the web application arena. If you are aware of my work on Spring Batch, you will probably be able to guess where that might take me. But for this article I wanted to just share some experiences I’ve had with the basic, low-level deployment and build of a Grails application.

I have a love/hate relationship with Maven 2, and I am learning to love Grails, but sadly the two do not play particularly well together. It would be really nice to see tighter integration. Maven is not always everything we want it to be, but there are some things that really make it worthwhile. It is a standard of sorts (love it or hate it) so when I download a project from somewhere I already know how to build it, what its dependencies are and where the documentation is. Grails has some of the same features, and in fact includes its own quite sophisticated build tool based on Groovy scripting of Ant. Maybe there is a middle way, where we can have the best of both worlds?

Read more...

Setter injection versus constructor injection and the use of @Required

A couple of month ago, we start publishing polls on www.springframework.org asking people to provide their feedback about Spring, some of its features and how they are using those features. The first question I posted was whether or not people were checking required dependencies and if so, what mechanisms they used. I quickly followed up on this question asking the community what transaction management strategy it used.

To my delight when I first checked the results, back in March, a lot of people told us by voting in the first poll that they were using the @Required annotation. The second poll–on transaction management, quickly showed that a lot of people were using the @Transactional annotation. Below you can find some of the results of the poll about checking required dependencies. Together with the poll on transaction management (about 30% of all respondents are using the @Transactional annotation to demarcate transaction boundaries) they consistently show that people are using Spring 2.0 a lot, which was very good news for us. Because upgrading an application that uses Spring 1.x to use Spring 2.0 shouldn’t be any issue, we really hoped people would not stick to Spring 1.x and in fact, people massively upgraded.

Read more...

Java EE 6 Gets it Right

The Java EE 6 proposal (JSR 316) was published today. I believe that this will be the most important revision of the platform since it was released nearly 10 years ago, and that it should be welcomed by users of the technology. Interface21 is happy to be a supporter of this JSR, and I am looking forward to contributing to it.

Java EE (known as J2EE for most of its history) has played a valuable role in creating a market for Java middleware. However, over those 10 years, important issues have emerged with the platform, such as:

Read more...

Is Open Source Dying? Case Not Proven

Michael Hickins recently published a piece on eWeek entitled Is Open Source Dying? The title drew me in, and no doubt plenty of other folk too. But the article doesn’t prove the case, although it contains some interesting points that merit discussion.

Most of the article concerns speculation about the experience of government with open source, and the motives of vendors such as IBM. I prefer to judge companies and individuals by their actions, rather than speculation about their motives, and there is plenty of evidence that IBM, for example, takes open source very seriously. There’s plenty of open source in WebSphere, for example.

Read more...