@Override public final String getJMSMessageID() throws JMSException { if (message.containsProperty(NATIVE_MESSAGE_ID)) { return getStringProperty(NATIVE_MESSAGE_ID); } return null; }
@Override public final String getJMSMessageID() throws JMSException { if (message.containsProperty(NATIVE_MESSAGE_ID)) { return getStringProperty(NATIVE_MESSAGE_ID); } return null; }
/** * @param packet */ private boolean isForceDeliveryResponse(final Packet packet) { if (packet.getType() == PacketImpl.SESS_RECEIVE_MSG) { SessionReceiveMessage msg = (SessionReceiveMessage) packet; if (msg.getMessage().containsProperty(ClientConsumerImpl.FORCED_DELIVERY_MESSAGE)) { return true; } } return false; }
public StompFrame createMessageFrame(ICoreMessage serverMessage, ActiveMQBuffer bodyBuffer, StompSubscription subscription, int deliveryCount) throws Exception { StompFrame frame = createStompFrame(Stomp.Responses.MESSAGE); if (subscription.getID() != null) { frame.addHeader(Stomp.Headers.Message.SUBSCRIPTION, subscription.getID()); } ActiveMQBuffer buffer = bodyBuffer != null ? bodyBuffer : serverMessage.getReadOnlyBodyBuffer(); int size = buffer.writerIndex(); byte[] data = new byte[size]; if (serverMessage.containsProperty(Stomp.Headers.CONTENT_LENGTH) || serverMessage.getType() == Message.BYTES_TYPE) { frame.addHeader(Headers.CONTENT_LENGTH, String.valueOf(data.length)); buffer.readBytes(data); } else { SimpleString text = buffer.readNullableSimpleString(); if (text != null) { data = text.toString().getBytes(StandardCharsets.UTF_8); } else { data = new byte[0]; } } frame.setByteBody(data); StompUtils.copyStandardHeadersFromMessageToFrame((serverMessage), frame, deliveryCount); return frame; }
public StompFrame createMessageFrame(ICoreMessage serverMessage, ActiveMQBuffer bodyBuffer, StompSubscription subscription, int deliveryCount) throws Exception { StompFrame frame = createStompFrame(Stomp.Responses.MESSAGE); if (subscription.getID() != null) { frame.addHeader(Stomp.Headers.Message.SUBSCRIPTION, subscription.getID()); } ActiveMQBuffer buffer = bodyBuffer != null ? bodyBuffer : serverMessage.getReadOnlyBodyBuffer(); int size = buffer.writerIndex(); byte[] data = new byte[size]; if (serverMessage.containsProperty(Stomp.Headers.CONTENT_LENGTH) || serverMessage.getType() == Message.BYTES_TYPE) { frame.addHeader(Headers.CONTENT_LENGTH, String.valueOf(data.length)); buffer.readBytes(data); } else { SimpleString text = buffer.readNullableSimpleString(); if (text != null) { data = text.toString().getBytes(StandardCharsets.UTF_8); } else { data = new byte[0]; } } frame.setByteBody(data); StompUtils.copyStandardHeadersFromMessageToFrame((serverMessage), frame, deliveryCount); return frame; }
@Override public void setOriginalHeaders(ServerMessage otherServerMessage, MessageReference originalReference, boolean expiry) { ICoreMessage other = otherServerMessage.getICoreMessage(); SimpleString originalQueue = other.getSimpleStringProperty(Message.HDR_ORIGINAL_QUEUE); if (originalQueue != null) { message.putStringProperty(Message.HDR_ORIGINAL_QUEUE, originalQueue); } else if (originalReference != null) { message.putStringProperty(Message.HDR_ORIGINAL_QUEUE, originalReference.getQueue().getName()); } if (other.containsProperty(Message.HDR_ORIG_MESSAGE_ID)) { message.putStringProperty(Message.HDR_ORIGINAL_ADDRESS, other.getSimpleStringProperty(Message.HDR_ORIGINAL_ADDRESS)); message.putLongProperty(Message.HDR_ORIG_MESSAGE_ID, other.getLongProperty(Message.HDR_ORIG_MESSAGE_ID)); } else { message.putStringProperty(Message.HDR_ORIGINAL_ADDRESS, new SimpleString(other.getAddress())); message.putLongProperty(Message.HDR_ORIG_MESSAGE_ID, other.getMessageID()); } // reset expiry message.setExpiration(0); if (expiry) { long actualExpiryTime = System.currentTimeMillis(); message.putLongProperty(Message.HDR_ACTUAL_EXPIRY_TIME, actualExpiryTime); } // TODO ASk clebert //message.bufferValid = false; }