JBoss/JMS Message Reference
The message reference is a pointer to the message. It holds one of:
A hard reference to the message in memory.
A soft reference with a pointer to the message in an offline store.
To avoid continuous access of the message in the offline store it holds information used in the server, including:
A link to the queue/topic subscription
The message id
Whether the message is persistent
This is an abstraction of the message, it can also adapt other message types not just jms messages.