Gavin King leads the Ceylon project at Red Hat. Gavin is the creator of
Hibernate, a popular object/relational persistence
solution for Java, 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 lead of the
Gavin now works full time on Ceylon, polishing the language specification,
developing the compiler frontend, and thinking about the SDK and future of
the platform. He's still a fan of Java, and of other languages, especially
Smalltalk, Python, and ML.
Matt Corey has blogged about CDI interceptor bindings, showing a simple example of how you can implement your own @RequiredTx annotation. He also lightly criticizes the use of beans.xml for interceptor enablement. (This was also discussed in the Weld forum.) I really think we have the design just right here, and I'll explain why. But first let me remember why CDI interceptor bindings are much better than the @Interceptors annotation from EJB 3.0.
I've seen a couple of folks wondering why CDI requires a beans.xml file in every bean archive. If there's no alternatives, interceptors, or decorators to declare, why do you need to have the empty file?