Especially the late adoption path for Java EE 6 was a point that forced me to look into other servers. Thank god, we have GlassFish as the reference implementation. Sticking to WebLogic with all the little Java EE 6 preview stuff in it wouldn’t be satisfying at all.
WebLogic at OpenWorld and JavaOne
Have you seen it? You probably have. But the server versions running on the laptops in the DemoGrounds were some reasonable recent versions of the 10.3.x.x also referred to as 11g. And this is still the old Java EE 5 version of it. And even the latest bug fix release was shipped way back in May. So I was really looking forward to see a 12g somewhere. Even if it was under the table or in a dark room in the back. Nothing like this happened. At least not officially. But something else hit my inbox a few days back. A little demo video or better a screen-cast. But have a look and tell me, what you think:
In 30 Seconds – WLS 188.8.131.52 Web Project with NetBeans
The video starts with a normal Java EE 6 Web profile based web-project with enabled CDI.
Servlet without web.xml
After the project is created, you see (someone) creating a WebServlet called DemoServlet with path mappings to different URL-Pattern. The package names indicate, that this was thought of as an Oracle OpenWorld presentation. The WLS is obviously running on a 64-bit HotSpot Java SE Milestone Build (1.6.0_26). Even if the WLS start up time seems to be comparable to what I see with 11g today, I wouldn’t bet on this to be the fact for a final GA release.Running a browser against the app shows the servlet responding accordingly. Changes to the servlet code seems to be hot deployed to the server. So no surprises here.
Context and Dependency Injection
After 3 minutes and 20 seconds a simple POJO is created with a simple getter returning a smiley. This little smiley is injected into the servlet. Here we go: CDI rocks! Furter on, the Smiley interface is introduced and we get a couple of different flavours of smiles injected via custom qualifyers. An exception reveals, that JBoss Weld is in use. No further details about the version. Around minute 7 a javax.enterprise.event.Event is introduced which is a simple String event getting fired by servlet access. A corresponding EventCapcha class receives the events via an @Observer method, adds them to a list and prints it to out. The EventCapcha class is exposed as session scoped bean and gives access to the events list.
JSF 2.0 with facelets
Ok. This is not new. We have JSF 2.0 since a while with WLS. Now we have the full power with CDI integration. Around minute 11 a simple JSF template with a h:dataTable component is created which shows the fired events.
The video ends at exactly 13 minutes and don’t show any of the other Java EE 6 goddess. But it’s by far more than we had seen until now about Java EE 6 running on WLS. And quite impressive to see WLS moving again. Don’t ask me about anything beyond this post. I DON’T KNOW about timelines, I DON’T KNOW about versions (the ones statet here were taken from the screen-cast) and I especially DON’T KNOW about when you finally will be able to test drive this new WebLogic 12g by your own. What I do know is, that I am surprised to see this “leaked” way after Open World. It seems as if it simply doesn’t fit into whatever strategy decisions have been made. I loved to watch this little screen-cast and I am badly looking forward having this in my own hands and giving it a test-drive with all the stuff we have created with GlassFish until now.
Get ready to program in a whole new way!
Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.