Examples of ProtonJMessage


Examples of org.apache.qpid.proton.message.ProtonJMessage

        try {
            int count = msg.getIntProperty("JMSXDeliveryCount");
            if( count > 1 ) {

                // decode...
                ProtonJMessage amqp = MESSAGE_FACTORY.createMessage();
                int offset = 0;
                int len = data.length;
                while( len > 0 ) {
                    final int decoded = amqp.decode(data, offset, len);
                    assert decoded > 0: "Make progress decoding the message";
                    offset += decoded;
                    len -= decoded;
                }

                // Update the DeliveryCount header...
                amqp.getHeader().setDeliveryCount(new UnsignedInteger(count));

                // Re-encode...
                ByteBuffer buffer = ByteBuffer.wrap(new byte[1024*4]);
                final DroppingWritableBuffer overflow = new DroppingWritableBuffer();
                int c = amqp.encode(new CompositeWritableBuffer(new WritableBuffer.ByteBufferWrapper(buffer), overflow));
                if( overflow.position() > 0 ) {
                    buffer = ByteBuffer.wrap(new byte[1024*4+overflow.position()]);
                    c = amqp.encode(new WritableBuffer.ByteBufferWrapper(buffer));
                }
                data = buffer.array();
                dataSize = c;
            }
        } catch (JMSException e) {
View Full Code Here

Examples of org.apache.qpid.proton.message.ProtonJMessage

        ApplicationProperties ap=null;
        if( apMap!=null ) ap = new ApplicationProperties(apMap);
        Footer footer=null;
        if( footerMap!=null ) footer = new Footer(footerMap);

        ProtonJMessage amqp = MESSAGE_FACTORY.createMessage(header, da, ma, props, ap, body, footer);

        ByteBuffer buffer = ByteBuffer.wrap(new byte[1024*4]);
        final DroppingWritableBuffer overflow = new DroppingWritableBuffer();
        int c = amqp.encode(new CompositeWritableBuffer(new WritableBuffer.ByteBufferWrapper(buffer), overflow));
        if( overflow.position() > 0 ) {
            buffer = ByteBuffer.wrap(new byte[1024*4+overflow.position()]);
            c = amqp.encode(new WritableBuffer.ByteBufferWrapper(buffer));
        }

        return new EncodedMessage(messageFormat, buffer.array(), 0, c);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.