The Spring Blog

Engineering
Releases
News and Events

AOP Context Binding With Named Pointcuts

There a a ton of new features in Spring AOP including the AspectJ pointcut language, the <aop:*/> namespace, and the @AspectJ syntax support. But by far one of the most powerful aspects (forgive the pun) is the AOP context binding.

For example, let’s say you want to advise a method that takes a String as an argument.


public interface HelloService { String getHelloMessage(String toAddHello); }

To advise this method, you’d write a pointcut that looked for a String return type, all implementations of the HelloService interface and the getHelloMessage(String) method.

Read more...

NY Java SIG Overflows

Every so often I get to experience something pretty amazing about the popularity of Spring, Interface21, and our people.

Last night was one of those such moments. Rod spoke at the NY Java SIG in Manhattan. Long time NY Java SIG coordinator Frank Greco sent out an email announcing the Java SIG late on a Sunday night about two weeks ago. By Monday morning at around 9am the event had hit a maximum number of registrations of 300 (the conference room at Google gets trouble from the fire codes when they exceed 260). Effectively the Java SIG had sold out in about a business hour. I think with friends and guests the total registered list was 340. Amazingly, people were turned away at the door once the room filled to 260. For them, I am sorry they didn’t get to see Rod speak but maybe they can come down to Philadelphia for the Emerging Technologies in the Enterprise show.

Read more...

Why Open Source Businesses are not like Wal-Mart

Hopefully one or more open source businesses will be among the standout successes of early 21st century capitalism. However, it’s interesting to look back at one of the standout successes of late 20th century capitalism for an instructive example of one of the unusual challenges facing open source businesses.

Wal-Mart’s history is well known. The first Wal-Mart opened in Rogers, Arkansas in 1962. Five years later there were 24 stores across Arkansas. In 1968, Wal-Mart opened its first stores outside Arkansas, in Missouri and Oklahoma. Both those states, of course, neighbour Arkansas. Wal-Mart’s expansion thereafter continued to be in concentric circles around its home base, enabling logistical and cultural challenges to be overcome gradually and execution to continue to be highly efficient. Despite enormous success in Wal-Mart’s home market, wider geographical expansion has not always proven successful–as in Germany.

Read more...

CarPlant not accepting null CarModels

Last Friday I finished a training session at a client of ours. Because I had some time to kill in the hotel I was staying in, I polished the sample application I coded up during the training to post it online for the guys of the training. Usually I try to find a little sample application specific to the client’s domain to use during the training. This makes it a bit more lively instead of some of the HelloWorld examples.

This client is a big car brand, that have adopted Spring widely throughout their organization. That’s why I created a CarPlant system capable of producing cars. Below you can find a little UML diagram displaying the (rather tiny) domain model and services in the system.

Read more...

New on the Spring forum: regular polls

A while ago, we were thinking about doing a big survey among Spring users to render feedback about parts of the framework. We’d include questions like ‘which Java version are you using’, but also ask you which Spring feature you like, dislike, et cetera.

Partially because of lack fo this, but also because for now, we don’t want to force Spring users to fill out huge surveys, we never got to actually doing this.

In the past half hour, I’ve set up a nice alternative on the Spring Framework forum. From now on, we’ll be hosting a series of polls on the forum. The polls are basically very simple multiple choice questions and the results will be available to everybody. In addition to the poll, we’ll also give some background information on each of the options.

Read more...

Spring Framework 2.0.3 Released

Dear Spring community,

We are pleased to announce that Spring 2.0.3 has been released.

Spring 2.0 Released

 

This is a bugfix and enhancement release in the Spring 2.0 series, including about 200 (!) refinements and fixes. Furthermore, this release introduces support for the JSR-166 (java.util.concurrent) backport project and basic support for JCA 1.5 (ResourceAdapter bootstrap, WorkManager support), as well as extended support for IBM WebSphere and Oracle OC4J.

Among the noteworthy enhancements are DefaultMessageListenerContainer’s dynamic scaling capability and the thoroughly revised scripting integration, supporting more styles of writing Groovy and BeanShell scripts and providing seamless interaction with Spring’s AOP facilities. This release also includes refinements in the AspectJ pointcut support as well as in the scoped-proxy facility.

See the changelog for details!

Cheers,
Juergen
 
—–
Juergen Hoeller
Interface21 - http://www.interface21.com

Read more...

Spring Framework 1.2.9 Released

Dear Spring community,

I'm pleased to announce that Spring 1.2.9 has finally been released. Download | Docs | Changelog.

This is a bugfix and refinement release for people still using the 1.2 series, and is intended as a drop-in update for Spring 1.2.8. It contains fixes for all problems reported since 1.2.8, and includes various backports from the Spring 2.0 branch.

Note that this is the last planned release in the Spring 1.2 branch. Patch releases for 1.2.9 will only be provided in case of critical issues. We recommend to upgrade to Spring 2.0 for long-term usage.

Cheers,
Juergen
 
-----
Juergen Hoeller
Interface21
http://www.interface21.com

Read more...

Maven Artifacts

At long last I can finally say that SPR-1484 is resolved. Opened on 20 November 2005 with 121 votes, 63 watchers, and even its own anti-ticket this issue rates as one of the all time biggies. In the last 10 minutes I’ve uploaded the maven artifacts for Spring 1.2.9 to our local repo and you should be seeing them replicated onto the central maven repo in the next 6 hours or so.

You will notice on the Spring JIRA issues such as SPR-2704, SPR-1383, and SPR-3198. What this means is that we’re not done improving our builds and and we will continue to respond to the community. In fact, we’ve got some really cool new tools that I can’t wait to show off in upcoming posts.

Read more...

Oracle Contributing Oracle Application Server Integration Code to Spring Framework

On the theme of application servers embracing Spring, another update. Oracle have been working on value added integration with their application server.

This is similar to what we have with WebLogic 8.1 and above in WebLogicJtaTransactionManager. The OC4JJtaTransactionManager should be used in place of the generic JtaTransactionManager in an OC4J environment, and provides the following benefits:


  • Direct access to the transaction manager and helper classes without having to use
    JNDI lookups

  • Auto-detection of server version to get the most out of the different transaction manager implementations in different versions

  • Control over transaction isolation level: a very useful feature not available in JTA

Read more...

Sun's GlassFish Embracing Spring

Sun take open source seriously these days, and users seem to be starting to take Sun open source seriously too.

GlassFish was late to the party in open source application servers, but it seems to be gaining traction. And, more importantly, it actually seems to be pretty good. Various Interface21ers, including Costin and Juergen, have taken a look at GlassFish and given it the thumbs up (although we haven’t yet worked with it in production). From what I’ve heard, performance is excellent–probably substantially due to the reworked servlet engine based on NIO. The JPA implementation–TopLink Essentials–should perform well too, being based on the mature and performant TopLink engine.

Read more...