I have a JMS queue on box A running. On box B I have a startup class that executes
a listener, that listens to the queue on box B. When I run a test client that
sends a message to the queue on box A the message gets sent to the queue as an
unacknowledged message, then the app server running on box A throws an exception
of
java.io.IOException: Class weblogic.jms.server.JMSServerSession with code=123
does not implement Serializable, Externalizable or WLSerializable
at weblogic.common.internal.WLObjectOutputStreamBase.writeObjectBody(WLObjectOutputStreamBase.java:895)
at weblogic.common.internal.WLObjectOutputStreamBase.writeObject(WLObjectOutputStreamBase.java:1011)
at weblogic.common.internal.WLObjectOutputStreamBase.writeObjectWL(WLObjectOutputStreamBase.java:166)
at weblogic.rmi.extensions.AbstractOutputStream2.writeObject(AbstractOutputStream2.java:82)
at weblogic.jms.server.ServerSessionPoolRemote_WLSkel.invoke(ServerSessionPoolRemote_WLSkel.java:48)
at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java:338)
at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java:69)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:15)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.rmi.MarshalException: error marshalling return
- with nested exception:
[java.io.IOException: Class weblogic.jms.server.JMSServerSession with code=123
does not implement Serializable, Externalizable or WLSerializable]
at weblogic.jms.server.ServerSessionPoolRemote_WLSkel.invoke(ServerSessionPoolRemote_WLSkel.java:50)
at weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAdapter.java:338)
at weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandler.java:69)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:15)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--------------- nested within: ------------------
weblogic.rmi.ServerException: A remote exception occurred while executing the
method on the remote object
- with nested exception:
[weblogic.rmi.MarshalException: error marshalling return
- with nested exception:
[java.io.IOException: Class weblogic.jms.server.JMSServerSession with code=123
does not implement Serializable, Externalizable or WLSerializable]]
at weblogic.rmi.extensions.AbstractRequest.sendReceive(AbstractRequest.java:76)
at weblogic.jms.server.ServerSessionPoolRemote_WLStub.getServerSession(ServerSessionPoolRemote_WLStub.java:85)
at weblogic.jms.server.JMSConnectionConsumer.deliver(JMSConnectionConsumer.java:97)
at weblogic.jms.server.QueuePoolRegistration.deliver(QueuePoolRegistration.java:32)
at weblogic.jms.server.QueuePoolRegistration.deliverMessages(QueuePoolRegistration.java:53)
at weblogic.jms.server.QueueRegistrations.deliver(QueueRegistrations.java:62)
at weblogic.jms.server.JMSRegistry.deliver(JMSRegistry.java:309)
at weblogic.jms.server.SessionState.processIncomingMessages(SessionState.java:725)
at weblogic.jms.server.SessionState.readQueue(SessionState.java:701)
at weblogic.jms.common.MessageQueue.execute(MessageQueue.java:687)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)
--------------- nested within: ------------------
weblogic.rmi.extensions.RemoteRuntimeException: Undeclared checked exception -
with nested exception:
[weblogic.rmi.ServerException: A remote exception occurred while executing the
method on the remote object
- with nested exception:
[weblogic.rmi.MarshalException: error marshalling return
- with nested exception:
[java.io.IOException: Class weblogic.jms.server.JMSServerSession with code=123
does not implement Serializable, Externalizable or WLSerializable]]]
at weblogic.jms.server.ServerSessionPoolRemote_WLStub.getServerSession(ServerSessionPoolRemote_WLStub.java:110)
at weblogic.jms.server.JMSConnectionConsumer.deliver(JMSConnectionConsumer.java:97)
at weblogic.jms.server.QueuePoolRegistration.deliver(QueuePoolRegistration.java:32)
at weblogic.jms.server.QueuePoolRegistration.deliverMessages(QueuePoolRegistration.java:53)
at weblogic.jms.server.QueueRegistrations.deliver(QueueRegistrations.java:62)
at weblogic.jms.server.JMSRegistry.deliver(JMSRegistry.java:309)
at weblogic.jms.server.SessionState.processIncomingMessages(SessionState.java:725)
at weblogic.jms.server.SessionState.readQueue(SessionState.java:701)
at weblogic.jms.common.MessageQueue.execute(MessageQueue.java:687)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)
Can anyone please tell me what I'm doing wrong...and is the problem on my queue
side or on the listener side. The listener is implementing session pooling that
is executed on startup also...very similar to the WL 5.1 example.
Many Many Many Thanks
Matthew.
_sjz.