[wildfly-dev] Modular classloader to verify against duplicates and ambiguities?

Sanne Grinovero sanne at hibernate.org
Tue Dec 8 11:02:14 EST 2015


As an app developer I remember that some years ago I fell in love with
JBoss Tattletale [1], as I would use it on my projects regularly to
verify that I wasn't screwing up my deployed dependencies.. something
which was quite common as a naive developer using Maven..

Nowadays I'm loving WildFly's modules system as it would allow me to
break down complex applications further (if I still were to develop
apps on it), or as a Hibernate / Search / Infinispan developer allows
us to package things in a much nicer way, exposing a minimal API
surface to end users.

Then we have deployers such as the JPA subsystem which "automagically"
add dependencies to apps at runtime, and while I like the fact that I
don't have to add specific module-related descriptor files to my app
and trust that the app server *might* do the right thing in most
cases, I'm actually not very happy with the transparency of this
system as I believe most application developers would need an
exhaustive list of what's being added - and such details are all too
fleeting in our different versions.

I think it would be a great feature if the modular classloader
wouldn't just have a well-defined order to find class definitions, but
could go beyond that by actually verify that for a given class name
there are no ambiguous resolutions, within each module (and each
application).

Personally, I would totally love such an appserver who's going to yell at me:
"you bundled two copies of blah, I refuse to deploy that!".

Or similarly: "you're bundling Hibernate, but we're giving it to you
already as we recognized a JPA app and you didn't disable the embedded
module!"

"Seriously, one more copy of the JTA API ?"

Please?

Thanks,
Sanne

1 - http://tattletale.jboss.org/


More information about the wildfly-dev mailing list