I have an application client set up to
send a logging message over a bus using a logback JMSQueueAppender.
Logback version is 0.9.24 and slf4j version is 1.6.1.
This is running on a Websphere 7.0 server
in Rational Application Developer 7.5.
I've tested the bus and queue with a
simple text message using the RAD Universal Test Client and that works
fine, so at least the foundation is solid.
When I log a message to the message
queue, I wind up with the following stack trace under a wide variety of
attempts:
[8/11/10 14:44:16:223 EDT] 0000002b
SystemOut O Exception CWSIA0122E: An exception occurred deserializing
a message, exception:
java.lang.ClassNotFoundException:
ch.qos.logback.classic.spi.LoggingEventVO.
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R javax.jms.MessageFormatException:
CWSIA0122E: An exception occurred deserializing a message, exception:
java.lang.ClassNotFoundException:
ch.qos.logback.classic.spi.LoggingEventVO.
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.api.jms.impl.JmsObjectMessageImpl.getObject(JmsObjectMessageImpl.java:277)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.csg.logger.mdb.NYCMLoggerMDB.handleMessage(NYCMLoggerMDB.java:45)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.csg.logger.mdb.NYCMLoggerMDB.onMessage(NYCMLoggerMDB.java:36)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1092)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:777)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
$Proxy42.onMessage(Unknown Source)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvokerImpl.java:233)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:900)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java:550)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R Caused by: java.lang.ClassNotFoundException:
ch.qos.logback.classic.spi.LoggingEventVO
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.lang.Class.forNameImpl(Native
Method)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.lang.Class.forName(Class.java:136)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.WsObjectInputStream.loadClass(WsObjectInputStream.java:227)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.WsObjectInputStream.access$000(WsObjectInputStream.java:53)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.WsObjectInputStream$2.run(WsObjectInputStream.java:191)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.WsObjectInputStream.resolveClass(WsObjectInputStream.java:164)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
com.ibm.ws.util.WsObjectInputStream.resolveClass(WsObjectInputStream.java:156)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1591)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1512)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1748)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
[8/11/10 14:44:16:223 EDT]
0000002b SystemErr R at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
[8/11/10 14:44:16:239 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.api.jms.impl.JmsObjectMessageImpl.getObjectInternal(JmsObjectMessageImpl.java:345)
[8/11/10 14:44:16:239 EDT]
0000002b SystemErr R at
com.ibm.ws.sib.api.jms.impl.JmsObjectMessageImpl.getObject(JmsObjectMessageImpl.java:271)
[8/11/10 14:44:16:239 EDT]
0000002b SystemErr R ...
10 more
This always happens when trying to get
the message object out of the message in the onMessage code in my message
driven bean. For example, the stack dump was generated at the event = .
. . line in the code below:
if
(msg instanceof
ObjectMessage){
ObjectMessage objectMesssage = (ObjectMessage)
msg;
System.out.println("Got
ObjectMessage");
event = (ILoggingEvent) objectMesssage.getObject();
}
I have the logback classic jar on my
classpath successfully because I use a number of other classes from it
in my code.
If anyone can help with this, I would
appreciate it. I can provide additional information as needed.
Thanks,
Merritt Derr
***CONFIDENTIALITY NOTICE***
This email and any attachments to it are confidential and intended solely
for the individual or entity to whom it is addressed. Any unauthorized
review, use, disclosure or distribution is prohibited. If you have received
this email in error, please contact the sender by reply email and destroy
all copies of the original message.
