@Override public MessageMetaData entryToObject(final TupleInput input) { try { final MessagePublishInfo publishBody = readMessagePublishInfo(input); final ContentHeaderBody contentHeaderBody = readContentHeaderBody(input); return new MessageMetaData(publishBody, contentHeaderBody); } catch (Exception e) { LOGGER.error("Error converting entry to object: " + e, e); // annoyingly just have to return null since we cannot throw return null; } }
@Override public long getArrivalTime() { return getMessageMetaData().getArrivalTime(); }
public ContentHeaderBody getContentHeaderBody() { return getMessageMetaData().getContentHeaderBody(); }
convertedContent.length, addressSpace); final int metadataSize = messageMetaData_0_8.getStorableSize();
public MessagePublishInfo getMessagePublishInfo() { return getMessageMetaData().getMessagePublishInfo(); }
@Override public AMQMessageHeader getMessageHeader() { return getMessageMetaData().getMessageHeader(); }
final int metadataSize = messageMetaData_0_8.getStorableSize();
@Override public String getInitialRoutingAddress() { MessageMetaData messageMetaData = getMessageMetaData(); AMQShortString routingKey = messageMetaData.getMessagePublishInfo().getRoutingKey(); if (routingKey != null) { return routingKey.toString(); } return ""; }
@Override public MessageMetaData createMetaData(QpidByteBuffer buf) { try { final int size = buf.getInt(); ContentHeaderBody chb = ContentHeaderBody.createFromBuffer(buf, size); final AMQShortString exchange = AMQShortString.readAMQShortString(buf); final AMQShortString routingKey = AMQShortString.readAMQShortString(buf); final byte flags = buf.get(); long arrivalTime = buf.getLong(); MessagePublishInfo publishBody = new MessagePublishInfo(exchange, (flags & IMMEDIATE_FLAG) != 0, (flags & MANDATORY_FLAG) != 0, routingKey); return new MessageMetaData(publishBody, chb, arrivalTime); } catch (AMQFrameDecodingException | AMQProtocolVersionException e) { throw new ConnectionScopedRuntimeException(e); } } }
private BasicContentHeaderProperties getProperties() { return getContentHeaderBody().getProperties(); }
@Override public AMQMessage createMessage(final QpidByteBuffer payload, final MessageStore store, final Object connectionReference) { try { AMQShortString exchange = readShortString(payload); AMQShortString routingKey = readShortString(payload); byte flags = payload.get(); final MessagePublishInfo publishBody = new MessagePublishInfo(exchange, (flags & IMMEDIATE_MASK) != 0, (flags & MANDATORY_MASK) != 0, routingKey); final ContentHeaderBody contentHeaderBody = readContentBody(payload); MessageMetaData mmd = new MessageMetaData(publishBody, contentHeaderBody); final MessageHandle<MessageMetaData> handle = store.addMessage(mmd); handle.addContent(payload); final StoredMessage<MessageMetaData> storedMessage = handle.allContentAdded(); return new AMQMessage(storedMessage, connectionReference); } catch (AMQFrameDecodingException | BufferUnderflowException e ) { throw new ConnectionScopedRuntimeException("Error parsing AMQP 0-9-1 message format", e); } }
@Override public long getExpiration() { return getMessageMetaData().getContentHeaderBody().getProperties().getExpiration(); }
return new MessageMetaData(publishInfo, chb, serverMsg.getArrivalTime());
return new MessageMetaData(publishInfo, chb, serverMsg.getArrivalTime());
new MessageMetaData(info, contentHeader, getConnection().getLastReadTime());