[ 
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

Reply via email to