@Override public ClientMessage createMessage(final byte type, final boolean durable, final long expiration, final long timestamp, final byte priority) { return new ClientMessageImpl(type, durable, expiration, timestamp, priority, initialMessagePacketSize, coreMessageObjectPools); }
@Override public void saveToOutputStream(final OutputStream out) throws ActiveMQException { try { byte[] readBuffer = new byte[getBodySize()]; getBodyBuffer().readBytes(readBuffer); out.write(readBuffer); out.flush(); } catch (IOException e) { throw ActiveMQClientMessageBundle.BUNDLE.errorSavingBody(e); } }
@Override public String toString() { return getClass().getSimpleName() + "[messageID=" + messageID + ", durable=" + durable + ", address=" + getAddress() + ",userID=" + (getUserID() != null ? getUserID() : "null") + ",properties=" + getProperties().toString() + "]"; }
@Override public long getLargeBodySize() { if (isLargeMessage()) { return getBodyBuffer().writerIndex(); } else { return getBodyBuffer().writerIndex() - BODY_OFFSET; } }
public String generate(String body) throws Exception { ClientMessageImpl message = new ClientMessageImpl(MESSAGE_TYPE, DURABLE, EXPIRATION, TIMESTAMP, PRIORITY, 10 * 1024, null); TextMessageUtil.writeBodyText(message.getBodyBuffer(), SimpleString.toSimpleString(body)); message.setAddress(ADDRESS); message.setUserID(uuid); message.getProperties().putSimpleStringProperty(PROP1_NAME, PROP1_VALUE); ActiveMQBuffer buffer = ActiveMQBuffers.dynamicBuffer(10 * 1024); message.sendBuffer(buffer.byteBuf(), 0); byte[] bytes = new byte[buffer.byteBuf().writerIndex()]; buffer.byteBuf().readBytes(bytes); return encodeString(bytes); // replace the code }
@Override public ClientMessageImpl writeBodyBufferBytes(byte[] bytes) { getBodyBuffer().writeBytes(bytes); return this; }
message.getBodyBuffer().writeString(data); message.putStringProperty("key", "int" + i); message.getBodyBuffer().resetReaderIndex(); producer.send(message); session.commit(); Assert.assertTrue("Message body growing indefinitely and unexpectedly", message.getBodySize() < 1000); message.acknowledge(); assertEquals(data, message.getBodyBuffer().readString());
@Override public void discardBody() { if (writableBuffer != null) { super.discardBody(); } else { largeMessageController.discardUnusedPackets(); } }
@Override public int getBodySize() { checkEncode(); return endOfBodyPosition - BUFFER_HEADER_SPACE; }
@Override public int getEncodeSize() { if (writableBuffer != null) { return super.getEncodeSize(); } else { return DataConstants.SIZE_INT + DataConstants.SIZE_INT + getHeadersAndPropertiesEncodeSize(); } }
ClientMessageImpl message = new ClientMessageImpl(MESSAGE_TYPE, DURABLE, EXPIRATION, TIMESTAMP, PRIORITY, 10 * 1024, objectPools); TextMessageUtil.writeBodyText(message.getBodyBuffer(), SimpleString.toSimpleString(body)); message.setAddress(ADDRESS); message.setUserID(userID); message.getProperties().putSimpleStringProperty(SimpleString.toSimpleString("str-prop"), propValue); message.sendBuffer(buffer.byteBuf(), 0);
@Override public long getLargeBodySize() { if (isLargeMessage()) { return getBodyBuffer().writerIndex(); } else { return getBodyBuffer().writerIndex() - BODY_OFFSET; } }
@Override public ClientMessageImpl writeBodyBufferString(String string) { getBodyBuffer().writeString(string); return this; }
@Override public void discardBody() { if (writableBuffer != null) { super.discardBody(); } else { largeMessageController.discardUnusedPackets(); } }
@Override public int getBodySize() { checkEncode(); return endOfBodyPosition - BUFFER_HEADER_SPACE; }
@Override public int getEncodeSize() { if (writableBuffer != null) { return super.getEncodeSize(); } else { return DataConstants.SIZE_INT + DataConstants.SIZE_INT + getHeadersAndPropertiesEncodeSize(); } }
public ActiveMQStreamMessage() { message = new ClientMessageImpl((byte) 0, false, 0, 0, (byte) 4, 1500, null); }
@Override public String toString() { return getClass().getSimpleName() + "[messageID=" + messageID + ", durable=" + durable + ", address=" + getAddress() + ",userID=" + (getUserID() != null ? getUserID() : "null") + ",properties=" + getProperties().toString() + "]"; }
@Override public void saveToOutputStream(final OutputStream out) throws ActiveMQException { try { byte[] readBuffer = new byte[getBodySize()]; getBodyBuffer().readBytes(readBuffer); out.write(readBuffer); out.flush(); } catch (IOException e) { throw ActiveMQClientMessageBundle.BUNDLE.errorSavingBody(e); } }
@Override public long getLargeBodySize() { if (isLargeMessage()) { return getBodyBuffer().writerIndex(); } else { return getBodyBuffer().writerIndex() - BODY_OFFSET; } }