Search code examples
javajakarta-eeweblogicclassloader

Class loaded multiple times by Weblogic classloder


I did activate on JVM level the trace for the classloader and I see DTDDVFactory and DTDDVFactoryImpl loaded twice

Once from the endorsed library

[Loaded org.apache.xerces.impl.dv.DTDDVFactory from /ec/envvar/server/weblogic/u010/home/wlstress/data/EFORMS103_envvar/endorsed_library/xercesImpl.jar]
[Loaded org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl from /ec/envvar/server/weblogic/u010/home/wlstress/data/EFORMS103_envvar/endorsed_library/xercesImpl.jar]

Second time from JDK:

[Loaded com.sun.org.apache.xerces.internal.impl.dv.DTDDVFactory from /ec/local/weblogic/u000/app/java/jdk1.6.0_45/jre/lib/rt.jar]
[Loaded com.sun.org.apache.xerces.internal.impl.dv.dtd.DTDDVFactoryImpl from /ec/local/weblogic/u000/app/java/jdk1.6.0_45/jre/lib/rt.jar]

Now which of the above DTDDVFactory and DTDDVFactoryImpl will be used by an application deployed on this Weblogic ?


Solution

  • As you can see in the logs the classes have different package names therefore the class with the matching FQCN (fully qualified class name) is used.