You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org> on 2008/07/25 17:21:31 UTC

[jira] Updated: (QPID-1199) Can't append to BytesMessage after send

     [ https://issues.apache.org/jira/browse/QPID-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-1199:
--------------------------------

      Priority: Minor  (was: Major)
    Issue Type: Improvement  (was: Bug)

> Can't append to BytesMessage after send
> ---------------------------------------
>
>                 Key: QPID-1199
>                 URL: https://issues.apache.org/jira/browse/QPID-1199
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Client
>    Affects Versions: M2.1, M3
>            Reporter: Aidan Skinner
>            Assignee: Aidan Skinner
>            Priority: Minor
>             Fix For: M4
>
>
> The following code throws an exception on the second iteration of the loop:
> public void testModificationAfterSend() throws Exception
> {
>                 Connection connection = getConnection();
>         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
>         BytesMessage jmsMsg = session.createBytesMessage();
>         Destination destination = new AMQQueue("amq.direct", randomize("BytesMessageTest"));
>         /** Set the constant message contents. */
>         jmsMsg.setStringProperty(
>             "foo", "test"
>         );
>         /** Pre-populate the message body buffer to the target size. */
>         byte[] jmsMsgBodyBuffer = new byte[1024];
>         for(int i=0;i<jmsMsgBodyBuffer.length;i++)
>         {
>             jmsMsgBodyBuffer[i] = (byte) 0xF;
>         }
>         /**
>         * Send messages.
>         */
>         MessageProducer producer = session.createProducer(destination);
>         for(int writtenMsgCount = 0; writtenMsgCount < 10; writtenMsgCount++){
>             /** Set the per send message contents. */
>             jmsMsgBodyBuffer[0] = (byte) writtenMsgCount;
>             jmsMsg.writeBytes(jmsMsgBodyBuffer,0,jmsMsgBodyBuffer.length);
>             /** Try to write a message. */
>             producer.send(jmsMsg);
>         }
>     }
> AFAICT there is no reason for us to not allow this to work (although it's a bit odd)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.