/** * @param sendBlocking * @param msgI * @param handler * @throws ActiveMQException */ private void largeMessageSendBuffered(final boolean sendBlocking, final ICoreMessage msgI, final ClientProducerCredits credits, SendAcknowledgementHandler handler) throws ActiveMQException { msgI.getBodyBuffer().readerIndex(0); largeMessageSendStreamed(sendBlocking, msgI, new ActiveMQBufferInputStream(msgI.getBodyBuffer()), credits, handler); }
/** * Stores an operation invocation in a message to invoke the corresponding operation the value from the server resource. * * @param message message * @param resourceName the name of the server resource * @param operationName the name of the operation to invoke on the server resource * @param parameters the parameters to use to invoke the server resource * @see ResourceNames */ public static void putOperationInvocation(final ICoreMessage message, final String resourceName, final String operationName, final Object... parameters) throws Exception { // store the name of the operation in the headers message.putStringProperty(ManagementHelper.HDR_RESOURCE_NAME, new SimpleString(resourceName)); message.putStringProperty(ManagementHelper.HDR_OPERATION_NAME, new SimpleString(operationName)); // and the params go in the body, since might be too large for header String paramString; if (parameters != null) { JsonArray jsonArray = JsonUtil.toJSONArray(parameters); paramString = jsonArray.toString(); } else { paramString = null; } message.getBodyBuffer().writeNullableSimpleString(SimpleString.toSimpleString(paramString)); }
msgI.getBodyBuffer().resetReaderIndex(); msgI.getBodyBuffer().resetWriterIndex(); msgI.putLongProperty(Message.HDR_LARGE_BODY_SIZE, deflaterReader.getTotalSize()); msgI.getBodyBuffer().writeBytes(buff, 0, pos); sendRegularMessage(msgI.getAddressSimpleString(), msgI, sendBlocking, credits, handler); return;
ActiveMQBuffer qbuff = clMessage.toCore().getBodyBuffer(); int bytesToRead = qbuff.writerIndex() - qbuff.readerIndex(); final byte[] body = ByteUtil.getActiveArray(qbuff.readBytes(bytesToRead).toByteBuffer());
msg.getBodyBuffer().writerIndex() > minLargeMessageSize)) { isLarge = true; } else {
/** * When writing on the conversion we use the buffer directly */ protected ActiveMQBuffer getWriteBodyBuffer() { readBodyBuffer = null; // it invalidates this buffer if anything is written return message.getBodyBuffer(); }
/** * When writing on the conversion we use the buffer directly */ protected ActiveMQBuffer getWriteBodyBuffer() { readBodyBuffer = null; // it invalidates this buffer if anything is written return message.getBodyBuffer(); }
@Override public void clearBody() throws JMSException { message.getBodyBuffer().clear(); }
/** * @param sendBlocking * @param msgI * @param handler * @throws ActiveMQException */ private void largeMessageSendBuffered(final boolean sendBlocking, final ICoreMessage msgI, final ClientProducerCredits credits, SendAcknowledgementHandler handler) throws ActiveMQException { msgI.getBodyBuffer().readerIndex(0); largeMessageSendStreamed(sendBlocking, msgI, new ActiveMQBufferInputStream(msgI.getBodyBuffer()), credits, handler); }
/** * @param sendBlocking * @param msgI * @param handler * @throws ActiveMQException */ private void largeMessageSendBuffered(final boolean sendBlocking, final ICoreMessage msgI, final ClientProducerCredits credits, SendAcknowledgementHandler handler) throws ActiveMQException { msgI.getBodyBuffer().readerIndex(0); largeMessageSendStreamed(sendBlocking, msgI, new ActiveMQBufferInputStream(msgI.getBodyBuffer()), credits, handler); }
/** * Encode the body into the internal message */ public void encode() throws Exception { if (!message.isLargeMessage()) { message.getBodyBuffer().resetReaderIndex(); } }
public void decode() throws Exception { if (!message.isLargeMessage()) { message.getBodyBuffer().resetReaderIndex(); } }
/** * Encode the body into the internal message */ public void encode() throws Exception { if (!message.isLargeMessage()) { message.getBodyBuffer().resetReaderIndex(); } }
public void decode() throws Exception { if (!message.isLargeMessage()) { message.getBodyBuffer().resetReaderIndex(); } }
@Override public void encode() throws Exception { super.encode(); getInnerMessage().getBodyBuffer().writeInt(payload.getLength()); getInnerMessage().getBodyBuffer().writeBytes(payload.getArray(), payload.getArrayOffset(), payload.getLength()); }
@Override public void encode() throws Exception { super.encode(); getInnerMessage().getBodyBuffer().writeInt(payload.getLength()); getInnerMessage().getBodyBuffer().writeBytes(payload.getArray(), payload.getArrayOffset(), payload.getLength()); }
public static Message createServerMessageFromByteBuf(MQTTSession session, String topic, boolean retain, int qos, ByteBuf payload) { String coreAddress = convertMQTTAddressFilterToCore(topic, session.getWildcardConfiguration()); SimpleString address = SimpleString.toSimpleString(coreAddress, session.getCoreMessageObjectPools().getAddressStringSimpleStringPool()); ICoreMessage message = createServerMessage(session, address, retain, qos); message.getBodyBuffer().writeBytes(payload, 0, payload.readableBytes()); return message; }
public static Message createServerMessageFromByteBuf(MQTTSession session, String topic, boolean retain, int qos, ByteBuf payload) { String coreAddress = convertMQTTAddressFilterToCore(topic, session.getWildcardConfiguration()); SimpleString address = SimpleString.toSimpleString(coreAddress, session.getCoreMessageObjectPools().getAddressStringSimpleStringPool()); ICoreMessage message = createServerMessage(session, address, retain, qos); message.getBodyBuffer().writeBytes(payload, 0, payload.readableBytes()); return message; }
protected ICoreMessage createMessage(final long messageId, final SimpleString destination, final ByteBuffer buffer) { ICoreMessage msg = new CoreMessage(messageId, 200); msg.setAddress(destination); msg.getBodyBuffer().writeBytes(buffer); return msg; }
protected Message generateMessage(final long id) { ICoreMessage message = new CoreMessage(id, 1000); message.setMessageID(id); message.getBodyBuffer().writeString(UUID.randomUUID().toString()); message.setAddress(new SimpleString("foo")); return message; }