Class Message

java.lang.Object
org.apache.activemq.command.BaseCommand
org.apache.activemq.command.Message
All Implemented Interfaces:
MessageReference, Command, DataStructure, MarshallAware
Direct Known Subclasses:
ActiveMQMessage

public abstract class Message extends BaseCommand implements MarshallAware, MessageReference
Represents an ActiveMQ message
  • Field Details

    • ORIGINAL_EXPIRATION

      public static final String ORIGINAL_EXPIRATION
      See Also:
    • DEFAULT_MINIMUM_MESSAGE_SIZE

      public static final int DEFAULT_MINIMUM_MESSAGE_SIZE
      The default minimum amount of memory a message is assumed to use
      See Also:
    • messageId

      protected MessageId messageId
    • originalDestination

      protected ActiveMQDestination originalDestination
    • originalTransactionId

      protected TransactionId originalTransactionId
    • producerId

      protected ProducerId producerId
    • destination

      protected ActiveMQDestination destination
    • transactionId

      protected TransactionId transactionId
    • deliveryTime

      protected long deliveryTime
    • expiration

      protected long expiration
    • timestamp

      protected long timestamp
    • arrival

      protected long arrival
    • brokerInTime

      protected long brokerInTime
    • brokerOutTime

      protected long brokerOutTime
    • correlationId

      protected String correlationId
    • replyTo

      protected ActiveMQDestination replyTo
    • persistent

      protected boolean persistent
    • type

      protected String type
    • priority

      protected byte priority
    • groupID

      protected String groupID
    • groupSequence

      protected int groupSequence
    • targetConsumerId

      protected ConsumerId targetConsumerId
    • compressed

      protected boolean compressed
    • userID

      protected String userID
    • content

      protected ByteSequence content
    • marshalledProperties

      protected volatile ByteSequence marshalledProperties
    • dataStructure

      protected DataStructure dataStructure
    • redeliveryCounter

      protected int redeliveryCounter
    • size

      protected int size
    • properties

      protected Map<String,Object> properties
    • readOnlyProperties

      protected boolean readOnlyProperties
    • readOnlyBody

      protected boolean readOnlyBody
    • recievedByDFBridge

      protected transient boolean recievedByDFBridge
    • droppable

      protected boolean droppable
    • jmsXGroupFirstForConsumer

      protected boolean jmsXGroupFirstForConsumer
  • Constructor Details

    • Message

      public Message()
  • Method Details

    • copy

      public abstract Message copy()
    • clearBody

      public abstract void clearBody() throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • storeContent

      public abstract void storeContent()
    • storeContentAndClear

      public abstract void storeContentAndClear()
    • clearUnMarshalledState

      public void clearUnMarshalledState() throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • isMarshalled

      public boolean isMarshalled()
    • isPropertiesMarshalled

      protected boolean isPropertiesMarshalled()
    • isContentMarshalled

      protected boolean isContentMarshalled()
    • copy

      protected void copy(Message copy)
    • getProperty

      public Object getProperty(String name) throws IOException
      Throws:
      IOException
    • getProperties

      public Map<String,Object> getProperties() throws IOException
      Throws:
      IOException
    • clearProperties

      public void clearProperties()
    • setProperty

      public void setProperty(String name, Object value) throws IOException
      Throws:
      IOException
    • removeProperty

      public void removeProperty(String name) throws IOException
      Throws:
      IOException
    • lazyCreateProperties

      protected void lazyCreateProperties() throws IOException
      Throws:
      IOException
    • beforeMarshall

      public void beforeMarshall(WireFormat wireFormat) throws IOException
      Specified by:
      beforeMarshall in interface MarshallAware
      Throws:
      IOException
    • afterMarshall

      public void afterMarshall(WireFormat wireFormat) throws IOException
      Specified by:
      afterMarshall in interface MarshallAware
      Throws:
      IOException
    • beforeUnmarshall

      public void beforeUnmarshall(WireFormat wireFormat) throws IOException
      Specified by:
      beforeUnmarshall in interface MarshallAware
      Throws:
      IOException
    • afterUnmarshall

      public void afterUnmarshall(WireFormat wireFormat) throws IOException
      Specified by:
      afterUnmarshall in interface MarshallAware
      Throws:
      IOException
    • getProducerId

      public ProducerId getProducerId()
    • setProducerId

      public void setProducerId(ProducerId producerId)
    • getDestination

      public ActiveMQDestination getDestination()
    • setDestination

      public void setDestination(ActiveMQDestination destination)
    • getTransactionId

      public TransactionId getTransactionId()
    • setTransactionId

      public void setTransactionId(TransactionId transactionId)
    • isInTransaction

      public boolean isInTransaction()
    • getOriginalDestination

      public ActiveMQDestination getOriginalDestination()
    • setOriginalDestination

      public void setOriginalDestination(ActiveMQDestination destination)
    • getMessageId

      public MessageId getMessageId()
      Specified by:
      getMessageId in interface MessageReference
    • setMessageId

      public void setMessageId(MessageId messageId)
    • getOriginalTransactionId

      public TransactionId getOriginalTransactionId()
    • setOriginalTransactionId

      public void setOriginalTransactionId(TransactionId transactionId)
    • getGroupID

      public String getGroupID()
      Specified by:
      getGroupID in interface MessageReference
    • setGroupID

      public void setGroupID(String groupID)
    • getGroupSequence

      public int getGroupSequence()
      Specified by:
      getGroupSequence in interface MessageReference
    • setGroupSequence

      public void setGroupSequence(int groupSequence)
    • getCorrelationId

      public String getCorrelationId()
    • setCorrelationId

      public void setCorrelationId(String correlationId)
    • isPersistent

      public boolean isPersistent()
      Specified by:
      isPersistent in interface MessageReference
    • setPersistent

      public void setPersistent(boolean deliveryMode)
    • getExpiration

      public long getExpiration()
      Specified by:
      getExpiration in interface MessageReference
    • setExpiration

      public void setExpiration(long expiration)
    • getPriority

      public byte getPriority()
    • setPriority

      public void setPriority(byte priority)
    • getReplyTo

      public ActiveMQDestination getReplyTo()
    • setReplyTo

      public void setReplyTo(ActiveMQDestination replyTo)
    • getTimestamp

      public long getTimestamp()
    • setTimestamp

      public void setTimestamp(long timestamp)
    • getType

      public String getType()
    • setType

      public void setType(String type)
    • getContent

      public ByteSequence getContent()
    • setContent

      public void setContent(ByteSequence content)
    • getMarshalledProperties

      public ByteSequence getMarshalledProperties()
    • setMarshalledProperties

      public void setMarshalledProperties(ByteSequence marshalledProperties)
    • getDataStructure

      public DataStructure getDataStructure()
    • setDataStructure

      public void setDataStructure(DataStructure data)
    • getTargetConsumerId

      public ConsumerId getTargetConsumerId()
      Can be used to route the message to a specific consumer. Should be null to allow the broker use normal JMS routing semantics. If the target consumer id is an active consumer on the broker, the message is dropped. Used by the AdvisoryBroker to replay advisory messages to a specific consumer.
      Specified by:
      getTargetConsumerId in interface MessageReference
    • setTargetConsumerId

      public void setTargetConsumerId(ConsumerId targetConsumerId)
    • isExpired

      public boolean isExpired()
      Description copied from interface: MessageReference
      Returns true if this message is expired
      Specified by:
      isExpired in interface MessageReference
    • isAdvisory

      public boolean isAdvisory()
      Specified by:
      isAdvisory in interface MessageReference
      Returns:
      true if the message is an advisory
    • isCompressed

      public boolean isCompressed()
    • setCompressed

      public void setCompressed(boolean compressed)
    • isRedelivered

      public boolean isRedelivered()
    • setRedelivered

      public void setRedelivered(boolean redelivered)
    • incrementRedeliveryCounter

      public void incrementRedeliveryCounter()
      Specified by:
      incrementRedeliveryCounter in interface MessageReference
    • getRedeliveryCounter

      public int getRedeliveryCounter()
      Specified by:
      getRedeliveryCounter in interface MessageReference
    • setRedeliveryCounter

      public void setRedeliveryCounter(int deliveryCounter)
    • getBrokerPath

      public BrokerId[] getBrokerPath()
      The route of brokers the command has moved through.
    • setBrokerPath

      public void setBrokerPath(BrokerId[] brokerPath)
    • isReadOnlyProperties

      public boolean isReadOnlyProperties()
    • setReadOnlyProperties

      public void setReadOnlyProperties(boolean readOnlyProperties)
    • isReadOnlyBody

      public boolean isReadOnlyBody()
    • setReadOnlyBody

      public void setReadOnlyBody(boolean readOnlyBody)
    • getConnection

      public ActiveMQConnection getConnection()
    • setConnection

      public void setConnection(ActiveMQConnection connection)
    • getArrival

      public long getArrival()
      Used to schedule the arrival time of a message to a broker. The broker will not dispatch a message to a consumer until it's arrival time has elapsed.
    • setArrival

      public void setArrival(long arrival)
    • getUserID

      public String getUserID()
      Only set by the broker and defines the userID of the producer connection who sent this message. This is an optional field, it needs to be enabled on the broker to have this field populated.
    • setUserID

      public void setUserID(String jmsxUserID)
    • getReferenceCount

      public int getReferenceCount()
      Specified by:
      getReferenceCount in interface MessageReference
    • getMessageHardRef

      public Message getMessageHardRef()
      Specified by:
      getMessageHardRef in interface MessageReference
    • getMessage

      public Message getMessage()
      Specified by:
      getMessage in interface MessageReference
    • setRegionDestination

      public void setRegionDestination(Message.MessageDestination destination)
    • getRegionDestination

      public Message.MessageDestination getRegionDestination()
      Specified by:
      getRegionDestination in interface MessageReference
    • getMemoryUsage

      public MemoryUsage getMemoryUsage()
    • setMemoryUsage

      public void setMemoryUsage(MemoryUsage usage)
    • isMarshallAware

      public boolean isMarshallAware()
      Specified by:
      isMarshallAware in interface DataStructure
      Overrides:
      isMarshallAware in class BaseCommand
    • incrementReferenceCount

      public int incrementReferenceCount()
      Specified by:
      incrementReferenceCount in interface MessageReference
    • decrementReferenceCount

      public int decrementReferenceCount()
      Specified by:
      decrementReferenceCount in interface MessageReference
    • getSize

      public int getSize()
      Specified by:
      getSize in interface MessageReference
    • getMinimumMessageSize

      protected int getMinimumMessageSize()
    • isRecievedByDFBridge

      public boolean isRecievedByDFBridge()
      Returns:
      Returns the recievedByDFBridge.
    • setRecievedByDFBridge

      public void setRecievedByDFBridge(boolean recievedByDFBridge)
      Parameters:
      recievedByDFBridge - The recievedByDFBridge to set.
    • onMessageRolledBack

      public void onMessageRolledBack()
    • isDroppable

      public boolean isDroppable()
    • setDroppable

      public void setDroppable(boolean droppable)
    • getCluster

      public BrokerId[] getCluster()
      If a message is stored in multiple nodes on a cluster, all the cluster members will be listed here. Otherwise, it will be null.
    • setCluster

      public void setCluster(BrokerId[] cluster)
    • isMessage

      public boolean isMessage()
      Specified by:
      isMessage in interface Command
      Overrides:
      isMessage in class BaseCommand
    • getBrokerInTime

      public long getBrokerInTime()
    • setBrokerInTime

      public void setBrokerInTime(long brokerInTime)
    • getBrokerOutTime

      public long getBrokerOutTime()
    • setBrokerOutTime

      public void setBrokerOutTime(long brokerOutTime)
    • isDropped

      public boolean isDropped()
      Description copied from interface: MessageReference
      Returns true if this message is dropped.
      Specified by:
      isDropped in interface MessageReference
    • isJMSXGroupFirstForConsumer

      public boolean isJMSXGroupFirstForConsumer()
    • setJMSXGroupFirstForConsumer

      public void setJMSXGroupFirstForConsumer(boolean val)
    • compress

      public void compress() throws IOException
      Throws:
      IOException
    • doCompress

      protected void doCompress() throws IOException
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class BaseCommand
    • toString

      public String toString(Map<String,Object> overrideFields)
      Overrides:
      toString in class BaseCommand
    • canProcessAsExpired

      public boolean canProcessAsExpired()
      Specified by:
      canProcessAsExpired in interface MessageReference
    • readResolve

      protected Object readResolve() throws ObjectStreamException
      Initialize the transient fields at deserialization to get a normal state.
      Throws:
      ObjectStreamException
      See Also: