Bugs item #429173, was updated on 2001-05-31 15:31
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=429173&group_id=22866

Category: JBossMQ
Group: v2.2.1 (stable)
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Serialisation error in JBossMQ.

Initial Comment:
I'm getting a serialisation error with JBossMQ (the 
version shipped with JBoss 2.2.1, whatever that may 
be), and I'm wondering if someone can help me out.

Basically, whenever I send a message to a queue, I get 
serialisation errors.

The client code (which lives inside an EJB) looks like 
this:

        ObjectMessage theMessage = getSession
().createObjectMessage();
        theMessage.setObject((java.io.Serializable)
message); // message is an interface, which is why it 
needs the cast. The object _is_ serializable.
        QueueRequestor theQueue = new QueueRequestor
(getSession(), getQueue());
        getConnection().start();
        ISOMessage response = getResponse
((ObjectMessage)theQueue.request(theMessage));
        return response;

When I fire off a message, I get a JMSException. 
Nested inside that, there is a java.io.IOException, 
which reads thusly (full stack trace to the point of 
being sent):
 java.io.NotSerializableException: 
org.jbossmq.SpyConnection$1
        at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:1148)
        at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:366)
        at java.io.ObjectOutputStream.outputClassFields
(ObjectOutputStream.java:1827)
        at 
java.io.ObjectOutputStream.defaultWriteObject
(ObjectOutputStream.java:480)
      <<<<<[ the previous four lines are repeated five 
more times ]>>>>>
        at java.io.ObjectOutputStream.outputObject
(ObjectOutputStream.java:1214)
        at java.io.ObjectOutputStream.writeObject
(ObjectOutputStream.java:366)
        at 
org.jbossmq.persistence.ObjectIntegrityLog.add
(ObjectIntegrityLog.java:99)
        at org.jbossmq.persistence.SpyMessageLog.add
(SpyMessageLog.java:89)
        at org.jbossmq.server.PersistenceManager.add
(PersistenceManager.java:328)
        at org.jbossmq.server.JMSDestination.addMessage
(JMSDestination.java:115)
        at org.jbossmq.server.JMSServer.addMessage
(JMSServer.java:530)
        at org.jbossmq.server.JMSServer.addMessage
(JMSServer.java:517)
        at 
org.jbossmq.distributed.server.DistributedJMSServerRMII
mpl.addMessage(DistributedJMSServerRMIImpl.java:68)
        at org.jbossmq.SpyConnection.sendToServer
(SpyConnection.java:387)
        at org.jbossmq.SpySession.sendMessage
(SpySession.java:383)
        at org.jbossmq.SpyQueueSender.send
(SpyQueueSender.java:95)
        at org.jbossmq.SpyQueueSender.send
(SpyQueueSender.java:54)
        at javax.jms.QueueRequestor.request
(QueueRequestor.java:75)
        at 
com.qsipayments.psng.message.JMSMessageHelper.sendMessa
geAndGetResponse(JMSMessageHelper.java:62)

SpyConnection$1 is, presumably, the Thread object 
inside of SpyConnection. The Thread is not 
serialisable, while SpyConnection is. So that's easy 
enough to understand. The question on my mind is: why? 
Why is the connection being sent as part of the 
message?

So, there's a bug of some sort here. Either the thread 
in SpyConnection should be transient, or the 
connection information should not be included in the 
message.


----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=429173&group_id=22866

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to