Jiri Danek created AMQ-6809:
-------------------------------

             Summary: activemq-client return unexpected length code on first 
read from stream containing empty byte array
                 Key: AMQ-6809
                 URL: https://issues.apache.org/jira/browse/AMQ-6809
             Project: ActiveMQ
          Issue Type: Bug
          Components: JMS client
    Affects Versions: 5.14.5
            Reporter: Jiri Danek


Consider this code

{code}
        private void testEmptyBufferInput() throws JMSException {
                byte[] readList = new byte[BYTE_LIST.length - 1];
                byte[] emptyList = {};
                LOG.info("Streaming BYTE_LIST message testing EMPTY buffer 
input");
                stream.writeBytes(emptyList);
                stream.reset();
                LOG.info("Reading BYTE_LIST message testing EMPTY buffer 
input");
                final int IS_EMPTY = 0;
                assertThat(stream.readBytes(readList)).isEqualTo(IS_EMPTY);
        }
{code}

The code above works with qpid-jms, but fails with activemq-client on the 
{{assertThat}} with error message {{java.lang.AssertionError: Not true that 
<-1> is equal to <0>}}. Judging by documentation 
http://docs.oracle.com/javaee/6/api/javax/jms/BytesMessage.html#readBytes(byte[]),
 I think that qpid-jms behavior is correct and what activemq-client does is a 
bug.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to