I managed to get a one day share on a pass this year, and it was the first time I’ve been back to JavaOne since 2001. They seem to have got the queue management down to an art to get people lining up for each session. They also had preregistration online for sessions this year (not sure if they had tried this in recent years since 2001), and if you preregistered you could get preferential seating and first entry into the sessions. If you didn’t register for a session you have to wait for all the preregistered people then to enter then if there were seats left to could go in.
Trouble is on some of the sessions that were popular and scheduled in the smaller rooms you got moved to an overflow room where you could watch a streaming video of the presentation and the slides – the couple of sessions where I got moved to an overflow room the streaming video (using Windows Media Player) kept disconnecting and they had to keep manually reconnecting it to the stream. This was really annoying as it meant you lost about 15-20 seconds of the presentation each time and missed key parts of what the presenter was saying. Anyway, this was my only critisism.
The sessions that I attented were very informative:
- Using Interceptors with EJB3.0, Bill Burke. This was interesting as I hadn’t picked up on this feature from the EJB3.0 spec. I was expecting to hear that this was a JBoss feature in their implementation, but it is actually part of the spec. Interceptors allow you to intercept business method invocations on your bean before they occur and execute any other logic, such as validation, or implementing cross-cutting concerns such as logging/tracing and profiling. This was interesting for me as it filled a hole – this seems to add simple AOP style abilities to your EJB3.0 beans.
- Effective Java Reloaded, Josh Bloch. In the same style as the information in the great book Effective Java, JOsh had some other useful tips and info, which will be included in a new edition of the book coming soon.
- Java Puzzlers – Avoiding Tiger Traps, Josh Bloch and Neil Gafter. This was a great presentation in the main hall that got you thinking about nuances in the Java language, focusing on SE 5.0. I had heard about these sessions where Josh and Neil present in the style of Car Talk on NPR, but this was the first time I had attended one. This was a great session, although because of the very specific problems they were illustrating I am not sure how much milage people will actually get from these sessions, although its great info to keep in your backpocket.
- Groovy: Ruby and Python for the Java Platform. This was probably the most impressive session of the day and got plenty of ‘oooh’s from the the audience and plenty of applause during the demo. I had started playing around with Groovy and in particular Grails (which was mentioned but not the subject for this presentation), so this was a chance for me to pick up on some more key features about the language. The material presented was excellent. He gave a quick overview of the language syntax, which when compared on slides with Java code alongside Groovy code to do this same thing, it was obvious how much more concise scrpting with Groovy is. The demo showed how to interact with MS Excel using an ActiveX library for Groovy. In only a few lines of code he showed how to construct a spreadsheet, manipulate the data, add formulas, create a chart, and then create a Swing app that pulls the chart as an image into the Swing app, and control Excel from Swing. For the numer of lines it took to do this and written on the fly in about 5-10 mins, this was impressive.