CarPlant not accepting null CarModels

Engineering | Alef Arendsen | March 12, 2007 | ...

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…

New on the Spring forum: regular polls

Engineering | Alef Arendsen | March 10, 2007 | ...

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…

Spring Framework 2.0.3 Released

Releases | Juergen Hoeller | March 09, 2007 | ...

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

Spring Framework 1.2.9 Released

Releases | Juergen Hoeller | March 09, 2007 | ...

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

Maven Artifacts

Engineering | Ben Hale | March 08, 2007 | ...

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…

Oracle Contributing Oracle Application Server Integration Code to Spring Framework

Engineering | Rod Johnson | February 27, 2007 | ...

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

For those familiar with JTA, using the UserTransaction, as you do when controlling transactions programmatically in Java EE, has some significant gaps, perhaps understandable given the now obsolete…

Sun's GlassFish Embracing Spring

Engineering | Rod Johnson | February 16, 2007 | ...

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…

WebLogic 10 Tech Preview Ships - Builds on Spring Framework

Engineering | Rod Johnson | February 11, 2007 | ...

Congratulations to the WebLogic team on shipping a preview of WebLogic 10, which passes the Java EE 5 CTS. It's good to see BEA getting back to their tradition of being quick off the mark, after their aberration with J2EE 1.4.

This is interesting news for the Spring community, because WebLogic 10 uses Pitchfork internally. The Pitchfork Project is an open source project led by Interface21 and collaboratively developed with BEA that implements EJB 3.0 interception and JSR-250 injection on top of Spring. It is used inside the WebLogic 10 EJB container and in other parts of the server to meet new…

Why the name Acegi?

Engineering | Ben Alex | January 25, 2007 | ...

Between Rod's recent blog on the origins of the Interface name, a recent thread querying the renaming of Acegi Security, and a suggestion late last year from my colleague Ben Hale to blog about the origins of the "Acegi" name, I've decided that it's probably time to do so!

First of all, the pronunciation: it's "ah-see-gee". Now that we've got that out of the way, let's go through where it came from:

  • Back in the early 1990s, I started a bulletin board system. I still remember using my first 300 baud modem, and actually watching the characters appearing at the same speed as I could read them! Anyway, a BBS required a name, and I quite liked "Midnight BBS" (or was it "Lightning BBS"?). After attempting to register my preferred name with the Australian BBS Registry, I received a phone call to be informed that the name was taken. I searched for another name, found no conflicts, and changed all of my screens (anyone remember Avatar?). I then went to register the BBS with its new name, although someone else had just beaten me to the same name. There were about 800 BBSes in Australia around the time - this was competitive stuff! So, I decided to go with something that was guaranteed to be original: characters 1, 3, 5, 7 and 9 from the English alphabet. Acegi BBS was then born.
  • This was the BBS heyday. It had callers from all across Australia, and it was the first BBS in our area code to acquire the seemingly limitless capacity of a CD-ROM. I became the 3:624 network coordinator for Fidonet and helped distributed "echomail" throughout our region. Before long, people started sending cheques payable to "Acegi BBS", as they wanted greater file download limits and access to Fidonet's netmail.
  • Because I needed to cash cheques with "Acegi" in the name, in early 1993 we decided to register a business name. Acegi Computer Technology was selected, and people happily made out their cheques accordingly.
  • In about 1995, I moved to Sydney with work. Dial-up Internet was just starting to become publicly available in Australia (it still cost around $5 per hour for modem access!). Because a BBS draws most of its users from a particular local area and I was leaving that area, I gave Acegi BBS to a friend to continue running. He too subsequently moved, and passed the BBS to another friend. I lost track after that. I did a Google for "Acegi BBS" and even found an old 1995 record of it.
  • By 1996 I needed a company for my IT projects, so Acegi Technology Pty Limited was born. It has remained operational since.
  • Sometime around November 2003, I wrote what eventually became Acegi Security. I put it into a ZIP file and shot it across to Rod and Juergen. I proposed the new project be called "Spring Security". However, they didn't have time to fully review it at that stage, so suggested I simply get it out there as "_____ Security System for Spring". As such, I prefixed "Acegi" into the name. As of today there are about 660,000 hits on Google for a search of "Acegi", and nearly all of it relates to the security framework.
Where to now? The next phase of the name is a "fork". Whilst Acegi Technology Pty Limited will continue to operate, Acegi Security will be renamed to "Spring Security". We're undertaking the rename for several good reasons. However, it's more than just a renaming exercise. It's actually a repositioning, moving Acegi Security even further into the Spring portfolio of products.

For those of you who haven't heard of the Spring portfolio, you'll be hearing more about it over the coming months. Spring is really a family of related products with comparable technical and cultural dimensions. Every product in the Spring portfolio shares a consistent quality of architecture, key design patterns, codebase, documentation, test coverage, friendly community, open source licensing, integrated samples, release roadmap and availability of commercial services (such as in-depth training and support) from Interface21

Dynamic DataSource Routing

Engineering | Mark Fisher | January 23, 2007 | ...

Spring 2.0.1 introduced an AbstractRoutingDataSource. I believe that it deserves attention, since (based on frequent questions from clients) I have a hunch that there are quite a few 'home-grown' solutions to this problem floating around. That combined with the fact that it is trivial to implement yet easy to overlook, and now I have several reasons to dust off my corner of the team blog.

The general idea is that a routing DataSource acts as an intermediary - while the 'real' DataSource can be determined dynamically at runtime based upon a lookup key. One potential use-case is for ensuring transaction-specific isolation levels which are not supported by standard JTA. For that, Spring provides an implementation: IsolationLevelDataSourceRouter

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