I'm trying to use SLF4J + Logback with TomEE 1.5.0. After setting
openejb.log.factory = org.apache.openejb.util.Slf4jLogStreamFactory
and replacing slf4j-jdk14 in TOMEE_HOME/lib by logback-core and
logback-classic, I get the following exception:
Failed to instantiate [ch.qos.logback.classic.LoggerContext]
Reported exception:
java.lang.LinkageError: loader constraint violation: when resolving
method
"javax.xml.parsers.SAXParser.parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/helpers/DefaultHandler;)V"
the class loader (instance of org/apache/openejb/core/TempClassLoader)
of the current class, ch/qos/logback/core/joran/event/SaxEventRecorder,
and the class loader (instance of <bootloader>) for resolved class,
javax/xml/parsers/SAXParser, have different Class objects for the type
DefaultHandler;)V used in the signature
at
ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(SaxEventRecorder.java:59)
Looking at the source code of TempClassLoader, I suppose it should
delegate org.xml.sax.* to the bootloader but doesn't.
The JRE has some more packages on top of java.*, javax.* and sun.* -
shouldn't they _all_ be delegated?
Best regards,
Harald