The Spring Experience 2006
I'm at The Spring
Experience 2006 in Hollywood, Florida (between Miami and Fort
Lauderdale) where I've been invited to speak.
The conference hotel is very striking because it is on the
seafront. In between sessions you can step out onto a balcony
that looks out on to the Atlantic Ocean. Not many conferences can
I'm basically an interloper here, because I don't really know very
much about Spring. The conference organizers invited me to speak
about JMX technology, because I do know very much about that.
But, since I'm basically a Java SE guy, this does lead to some
perplexing situations. This morning I attended a session on the
Java Persistence API where one of the presenters started off with
what should have been rhetorical questions:
How many people work with databases? (Everybody raises
their hand except me.)
How many people don't work with databases?
(Just little old me. So what was I doing there? Just trying to
see how the other half lives.)
I did learn quite a lot at this talk. Perhaps of the most
interest to me (as part of the JDK team) was the fact that JPA
needs Byte Code Instrumentation, in particular to href="http://weblogs.java.net/blog/cayhorstmann/archive/2006/06/the_innermost_s.html">support
lazy loading. This can be via either
or magic ClassLoaders that modify the byte code of classes as they
are loaded. The latter approach is called "Load-Time Weaving"
At the keynote speech last night, Rod Johnson (the Father of
Spring) enumerated the impressively long list of places where
Spring is being used, among them the href="http://en.wikipedia.org/wiki/Voca_Limited">Voca system,
used for nearly all inter-bank transfers in the UK, and the href="http://impots.gouv.fr/">system that allows French
taxpayers (like me) to consult their tax status. Of course Rod
was preaching to the converted, since presumably everybody
here is a Spring user. Except me.
Rod said a whole lot of other things during this keynote, but I
was zoning out a bit since I'd been up for almost 24 hours at that
stage, 24 hours that included a transatlantic flight preceded by a
stop-off in Airport
Another theme that's showing up strongly is dynamic
languages. In particular the notion of automatically
refreshing the copy of a script being used by a live application,
for example running in a web container. You modify the script in
your IDE and save the file. The Spring container can be
configured to poll for script file modifications and switch
automatically to the modified version for new requests. This
means you can modify a script and see the results of your
modification in your web browser immediately, without having to
redeploy the app.
I expect to be writing more later. My own speech is