Bio
Gavin King is a Distinguished Engineer at Red Hat. He is the creator of Hibernate, a popular object/relational persistence solution for Java, the Ceylon programming language, and the Seam Framework, an application framework for enterprise Java. He's contributed to the Java Community Process as JBoss and then Red Hat representative for the EJB and JPA specifications and as spec lead and author of the CDI specification.
Gavin now helps lead the Quarkus project, focusing on data access technologies and developer usability experience.
Tags
Authors
A revised public draft of JSR-299 is now available. This draft was produced with input from several people from the EE 6 expert group and aims to address a number of criticisms surrounding the relationship between 299 and the rest of the EE platform.
Two of my favorite blogs are The Volokh Conspiracy, written by a bunch of libertarianish legal academics, and Language Log, about linguistics. I really enjoy seeing how folks from very different disciplines reason and express themselves in writing (lawyers in particular are especially clear thinkers). This morning I started wondering if I'm missing out on other equally great groupblogs.
I had fun reading this. The author degenerates into relativism toward the end, but the core point of the article is spot on: the phrase best practice
is one that is used by bullies and the intellectually incurious to avoid having to evaluate novel solutions upon their own merits. It's an appeal to authority that sidesteps the nasty requirement of having to actually state any actual authority.
There's been plenty of discussion in the JPA group about my typesafe criteria proposal. My new favorite feature of the Java language is javax.annotation.Processor. Java 6 annotation processors are derived from the APT tool that existed in JDK 5, but are built into javac. Really, the name annotation processor is misleading, since this feature is only incidentally related to annotations. The Processor is really a fairly general purpose compiler plugin. If, like me, you've never been a fan of code generation, now is the time to reconsider. A Java 6 Processor can:
The Web Beans event bus provides a very nice way for stateful components to synchronize their state with changes that take place in the application.
The public draft of the JPA 2.0 specification is already out and includes a much-awaited feature: an API that lets you create queries by calling methods of Java objects, instead of by embedding JPA-QL into strings that are parsed by the JPA implementation. You can learn more about the API proposed by the public draft at Linda's blog.
Over the past few weeks, we've had a number of conversations between the major Java EE vendors regarding the inclusion of Web Beans (JSR-299) in the Java EE 6 platform. Several members of the EE 6 expert group have concerns about how the current draft of the specification characterizes the functionality of Web Beans, and about how well the functionality integrates at the platform level. Therefore, as requested by one of the other vendors, we've extended the Public Review period until early February with the goal of taking further input from folks with platform expertise. The expert group will submit a revised Public Review Draft in late January or February that incorporates this feedback.
I keep getting asked about the relationship between Seam and Web Beans. At a high level, the mission of the Seam project remains unchanged: to provide a fully integrated development platform for building rich Internet applications, based upon the Java EE environment. In Seam2, this platform consists of the following layers: