A Bit of JavaOne at the Connecticut Java User Group's March Meeting
Prior to last year's JavaOne, I was in contact with Ryan Cuprak, president of the Connecticut Java Users Group (USA). The plan was that we'd get together at some point during JavaOne and chat. As it turned out, once JavaOne started it quickly became a whirlwind for me (and for Ryan, who presented at least 4 sessions at the conference). I was on the way to the airport on the last day of the conference, when my phone rang. It was Ryan: he was available for our chat!
Not only did I not get to chat with Ryan at JavaOne (aside from the brief phone call), but I also missed all of his sessions. So, when I found out that Ryan would be re-presenting one of his JavaOne sessions at the March meeting of CTJUG, I decided to attend.
The session Ryan presented was "Patterns and Best Practices for CDI" (which is now available on Parleys). At JavaOne, the session was co-presented with Reza Rahman, Java EE / EJB / JMS JCP expert and Resin appserver developer.
Connecticut has no cities that can be called a metropolis. The capital, Hartford, has about 100,000 residents. So, I didn't expect hundreds of people to show up for the meeting. In fact, the attendance at this particular CTJUG meeting was just over a dozen. Most of the developers who attended work in the insurance industry (which is a major part of Connecticut's economy). Some of the attendees said they currently are not doing any Java work -- but they still like to attend CTJUG meetings! Three people (including me and my wife) were attending a CTJUG meeting for the first time.
For me, Ryan's presentation was very informative, since I haven't worked with CDI (Contexts and Dependency Injection, JSR 299). Ryan covered the history of technologies that eventually led to its formulation, then went into detail on topics including Annotations (versus XML configuration), qualifiers, naming, scoping, stereotypes, interceptors, decorators, dependency resource injection, CDI integration, and extensions.
Now, I'm not ready to call myself an expert on CDI after a one-hour presentation. But, I know a lot more about the genesis and utility of CDI than I did before. It seems like it can be applied to considerably shorten the Java EE development cycle.
I was surprised to learn that CDI can also be used in Swing desktop applications. Similarly, I would not have guessed that mixing CDI and JPA can produce complications (since both technologies manage their own lifecycles -- Ryan says this problem can be bridged by CDI producers).
Ryan cites the Arquillian unit testing platform as being the most important CDI extension. He notes that although Arquillian is a JBoss community project, it also works with GlassFish.
If you'd like all the details from Ryan Cuprak's and Reza Rahman's JavaOne 2011 Patterns and Best Practices for CDI presentation, watch it on Parleys!
Our current Java.net poll asks How critical is it for JSR-310 (new Date and Time API) to be implemented in Java 8?. Voting ends this Friday, March 16.
Here are the stories we've recently featured in our Java news section: