diff options
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java')
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java index 4fcbaa237e..e36e467fea 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/message/AMQMessage.java @@ -37,7 +37,7 @@ import java.nio.ByteBuffer; /** * A deliverable message. */ -public class AMQMessage extends AbstractServerMessageImpl +public class AMQMessage extends AbstractServerMessageImpl<MessageMetaData> { /** Used for debugging purposes. */ private static final Logger _log = Logger.getLogger(AMQMessage.class); @@ -62,9 +62,7 @@ public class AMQMessage extends AbstractServerMessageImpl private Object _sessionIdentifier; private static final byte IMMEDIATE_AND_DELIVERED = (byte) (IMMEDIATE | DELIVERED_TO_CONSUMER); - private final StoredMessage<MessageMetaData> _handle; - - WeakReference<AMQChannel> _channelRef; + private WeakReference<AMQChannel> _channelRef; public AMQMessage(StoredMessage<MessageMetaData> handle) { @@ -75,7 +73,7 @@ public class AMQMessage extends AbstractServerMessageImpl { super(handle); - _handle = handle; + final MessageMetaData metaData = handle.getMetaData(); _size = metaData.getContentSize(); final MessagePublishInfo messagePublishInfo = metaData.getMessagePublishInfo(); @@ -97,7 +95,7 @@ public class AMQMessage extends AbstractServerMessageImpl public MessageMetaData getMessageMetaData() { - return _handle.getMetaData(); + return getStoredMessage().getMetaData(); } public ContentHeaderBody getContentHeaderBody() throws AMQException @@ -107,7 +105,7 @@ public class AMQMessage extends AbstractServerMessageImpl public Long getMessageId() { - return _handle.getMessageNumber(); + return getStoredMessage().getMessageNumber(); } /** @@ -219,9 +217,9 @@ public class AMQMessage extends AbstractServerMessageImpl return new AMQMessageReference(this); } - public Long getMessageNumber() + public long getMessageNumber() { - return getMessageId(); + return getStoredMessage().getMessageNumber(); } @@ -248,16 +246,13 @@ public class AMQMessage extends AbstractServerMessageImpl public int getContent(ByteBuffer buf, int offset) { - return _handle.getContent(offset, buf); + return getStoredMessage().getContent(offset, buf); } - public StoredMessage<MessageMetaData> getStoredMessage() + + public ByteBuffer getContent(int offset, int size) { - return _handle; + return getStoredMessage().getContent(offset, size); } - public SessionConfig getSessionConfig() - { - return _channelRef == null ? null : ((SessionConfig) _channelRef.get()); - } } |