Yet another tech geek weblog with a focus on technical Linux and open source, particularly server-side PostgreSQL and Kubernetes
Tuesday, July 17, 2012
Tips for interactively debugging CDI applications
Of course, this is my blog, so you know there's a "but". Sure enough there is, albeit a pretty minor one: It's a mess for interactive debugging, because stepping through a CDI invocation takes you through layers of weld proxies, scope lookups, and all sorts of other crud you usually don't want to see. LOTS of it. CDI isn't unique in this respect, as anyone who's stepped through EJB calls will know, but it's perhaps worse than some due to extensive use of proxies, interceptors, etc.
There's a solution in Eclipse. It could be simpler and it could be more complete, but it's a heck of a lot better than nothing.
Wednesday, August 25, 2010
Converting a NetBeans-generated JSF2 project to use CDI
I started playing with Netbeans 6.9's JSF2 interface generation for database apps, and quickly noticed that (a) it uses JSF2 injection, not CDI and (b) it generates some verbose, ugly converters.
I decided to switch it over, as a bit of a learning experience. Here's what landed up being necessary.
Tuesday, August 24, 2010
Untangling Java EE 6 - a broad conceptual overview
WARNING
This document was written by someone who's only learning Java EE 6. On one hand, I remember the frustrations clearly and still encounter issues of understanding (and bugs) regularly, so I'm in a good position to think about how a newbie needs to have things explained. On the other hand, a bunch of this is probably wrong because my own understanding is still developing. Beware.
This is also a work in progress. It's been published for comment and review, and isn't a fully edited and checked final work.
If you're coming from Spring, rather than starting with Java EE cold, you should start here.
Java EE 6
Java EE 6 is not a product you can download and install. It is a specification that describes how implementing software should behave. It refers to many sub-specifications for particular features, each of which has one or more implementations in software. Some of these implementations can be used outside a full Java EE 6 environment as standalone products.