[ https://issues.apache.org/jira/browse/QPID-1830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12791492#action_12791492 ]
Martin Ritchie commented on QPID-1830: -------------------------------------- >From memory via the JMS API you cannot read a sent message or newly created >messasge. You can only read received messages. However, calling toString() should always work. If we have something that is trying to read the underlying data using the JMS API to access the data then this IMHO is not correct. If it uses the byte buffer then it must leave it in the state it found it. I would suggest that displaying the body of a message should not be done via toString. > BytesMessage is unreadable > -------------------------- > > Key: QPID-1830 > URL: https://issues.apache.org/jira/browse/QPID-1830 > Project: Qpid > Issue Type: Bug > Components: Java Client > Affects Versions: 0.6, 0.7 > Reporter: Aidan Skinner > Assignee: Rajith Attapattu > Priority: Critical > Fix For: 0.6 > > > This can easily be seen running the interop coordinator: > 2009-04-28 14:24:38,377 INFO [main] distributedtesting.Coordinator > (Coordinator.java:285) - Found distributed test case: > org.apache.qpid.interop.testcases.InteropTestCase4P2PMessageSize > javax.jms.MessageNotReadableException: You need to call reset() to make the > message readable > at > org.apache.qpid.client.message.AbstractJMSMessage.checkReadable(AbstractJMSMessage.java:433) > at > org.apache.qpid.client.message.AbstractBytesMessage.toBodyString(AbstractBytesMessage.java:89) > at > org.apache.qpid.client.message.AbstractJMSMessage.toString(AbstractJMSMessage.java:371) > at java.lang.String.valueOf(String.java:2827) > at java.lang.StringBuilder.append(StringBuilder.java:115) > at > org.apache.qpid.test.utils.ConversationFactory$Conversation.send(ConversationFactory.java:263) > at > org.apache.qpid.test.framework.distributedtesting.Coordinator.start(Coordinator.java:366) > at > org.apache.qpid.test.framework.distributedtesting.Coordinator.main(Coordinator.java:315) > 2009-04-28 14:24:39,690 INFO [main] distributedtesting.Coordinator > (Coordinator.java:330) - javax.jms.MessageNotReadableException: You need to > call reset() to make the message readable > java.lang.RuntimeException: javax.jms.MessageNotReadableException: You need > to call reset() to make the message readable > at > org.apache.qpid.client.message.AbstractJMSMessage.toString(AbstractJMSMessage.java:407) > at java.lang.String.valueOf(String.java:2827) > at java.lang.StringBuilder.append(StringBuilder.java:115) > at > org.apache.qpid.test.utils.ConversationFactory$Conversation.send(ConversationFactory.java:263) > at > org.apache.qpid.test.framework.distributedtesting.Coordinator.start(Coordinator.java:366) > at > org.apache.qpid.test.framework.distributedtesting.Coordinator.main(Coordinator.java:315) > Caused by: javax.jms.MessageNotReadableException: You need to call reset() to > make the message readable > at > org.apache.qpid.client.message.AbstractJMSMessage.checkReadable(AbstractJMSMessage.java:433) > at > org.apache.qpid.client.message.AbstractBytesMessage.toBodyString(AbstractBytesMessage.java:89) > at > org.apache.qpid.client.message.AbstractJMSMessage.toString(AbstractJMSMessage.java:371) > ... 5 more > This works on the 0.5-release branch, so is presumably a recentish break. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org