Can't append to BytesMessage after send
---------------------------------------
Key: QPID-1199
URL: https://issues.apache.org/jira/browse/QPID-1199
Project: Qpid
Issue Type: Bug
Components: Java Client
Affects Versions: M2.1, M3
Reporter: Aidan Skinner
Assignee: Aidan Skinner
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.