I ranted
about the JBoss UCL a couple of months back and through the magic
of referer logs, I discovered a thread
on the JBoss forums talking about the same thing. I'm so glad to
see I'm not the only one who feels that the Unified Class Loader is
horribly broken.
I'm not convinced that anyone outside of the JBoss group thinks
the UCL is good or feels it helps them, but on the off chance you
haven't felt the pain of the UCL and are curious what the fuss is
about, then the above thread is a good place to start. There are some
great comments at the end of the thread.
The big problem seems to be that the J2EE spec doesn't dictate how
classloading needs to take place. The entire J2EE community, except
JBoss, have settled on some fairly standard practices that make sense
and avoid confusion. The JBoss UCL is different and confusing. With
the UCL you can't just deploy your components in isolation and
be confident everything will work. You have to worry about every class file
in every application.
I give JBoss a lot of credit for innovating in the J2EE arena, but
not all innovation produces good results. The use of JMX as a kernel
is good. The interceptor architecture is nice. But the UCL is a
failure. Please JBoss guys, can we just move on?