Package org.apache.qpid.jms.message
Class JmsMessage
- java.lang.Object
-
- org.apache.qpid.jms.message.JmsMessage
-
- All Implemented Interfaces:
jakarta.jms.Message
- Direct Known Subclasses:
JmsBytesMessage,JmsMapMessage,JmsObjectMessage,JmsStreamMessage,JmsTextMessage
public class JmsMessage extends java.lang.Object implements jakarta.jms.Message
-
-
Field Summary
Fields Modifier and Type Field Description protected JmsAcknowledgeCallbackacknowledgeCallbackprotected JmsConnectionconnectionprotected JmsMessageFacadefacadeprotected booleanreadOnlyprotected booleanreadOnlyBodyprotected booleanreadOnlyPropertiesprotected booleanvalidatePropertyNames
-
Constructor Summary
Constructors Constructor Description JmsMessage(JmsMessageFacade facade)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacknowledge()protected voidcheckReadOnly()protected voidcheckReadOnlyBody()protected voidcheckReadOnlyProperties()protected voidcheckWriteOnlyBody()voidclearBody()voidclearProperties()JmsMessagecopy()protected voidcopy(JmsMessage other)protected <T> TdoGetBody(java.lang.Class<T> asType)booleanequals(java.lang.Object o)JmsAcknowledgeCallbackgetAcknowledgeCallback()java.util.Enumeration<?>getAllPropertyNames()return all property names, including standard JMS properties and JMSX properties<T> TgetBody(java.lang.Class<T> asType)booleangetBooleanProperty(java.lang.String name)bytegetByteProperty(java.lang.String name)JmsConnectiongetConnection()doublegetDoubleProperty(java.lang.String name)JmsMessageFacadegetFacade()floatgetFloatProperty(java.lang.String name)intgetIntProperty(java.lang.String name)java.lang.StringgetJMSCorrelationID()byte[]getJMSCorrelationIDAsBytes()intgetJMSDeliveryMode()longgetJMSDeliveryTime()jakarta.jms.DestinationgetJMSDestination()longgetJMSExpiration()java.lang.StringgetJMSMessageID()intgetJMSPriority()booleangetJMSRedelivered()jakarta.jms.DestinationgetJMSReplyTo()longgetJMSTimestamp()java.lang.StringgetJMSType()longgetLongProperty(java.lang.String name)java.lang.ObjectgetObjectProperty(java.lang.String name)java.util.Enumeration<?>getPropertyNames()shortgetShortProperty(java.lang.String name)java.lang.StringgetStringProperty(java.lang.String name)inthashCode()booleanisBodyAssignableTo(java.lang.Class target)booleanisExpired()booleanisReadOnly()booleanisReadOnlyBody()booleanisReadOnlyProperties()booleanisValidatePropertyNames()voidonDispatch()Used to trigger processing required before dispatch of a message to its intended consumer.voidonSend(long producerTtl)Used to trigger processing required to place the message in a state where it is ready to be written to the wire.voidonSendComplete()Used to trigger processing required to place the message into a writable state once again following completion of the send operation.booleanpropertyExists(java.lang.String name)voidsetAcknowledgeCallback(JmsAcknowledgeCallback jmsAcknowledgeCallback)voidsetBooleanProperty(java.lang.String name, boolean value)voidsetByteProperty(java.lang.String name, byte value)voidsetConnection(JmsConnection connection)voidsetDoubleProperty(java.lang.String name, double value)voidsetFloatProperty(java.lang.String name, float value)voidsetIntProperty(java.lang.String name, int value)voidsetJMSCorrelationID(java.lang.String correlationId)voidsetJMSCorrelationIDAsBytes(byte[] correlationId)voidsetJMSDeliveryMode(int mode)voidsetJMSDeliveryTime(long deliveryTime)voidsetJMSDestination(jakarta.jms.Destination destination)voidsetJMSExpiration(long expiration)voidsetJMSMessageID(java.lang.String value)voidsetJMSPriority(int priority)voidsetJMSRedelivered(boolean redelivered)voidsetJMSReplyTo(jakarta.jms.Destination destination)voidsetJMSTimestamp(long timestamp)voidsetJMSType(java.lang.String type)voidsetLongProperty(java.lang.String name, long value)voidsetObjectProperty(java.lang.String name, java.lang.Object value)voidsetReadOnly(boolean readOnly)voidsetReadOnlyBody(boolean readOnlyBody)voidsetReadOnlyProperties(boolean readOnlyProperties)voidsetShortProperty(java.lang.String name, short value)voidsetStringProperty(java.lang.String name, java.lang.String value)voidsetValidatePropertyNames(boolean validatePropertyNames)java.lang.StringtoString()
-
-
-
Field Detail
-
acknowledgeCallback
protected transient JmsAcknowledgeCallback acknowledgeCallback
-
connection
protected transient JmsConnection connection
-
facade
protected final JmsMessageFacade facade
-
readOnly
protected boolean readOnly
-
readOnlyBody
protected boolean readOnlyBody
-
readOnlyProperties
protected boolean readOnlyProperties
-
validatePropertyNames
protected boolean validatePropertyNames
-
-
Constructor Detail
-
JmsMessage
public JmsMessage(JmsMessageFacade facade)
-
-
Method Detail
-
copy
public JmsMessage copy() throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
copy
protected void copy(JmsMessage other)
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
acknowledge
public void acknowledge() throws jakarta.jms.JMSException- Specified by:
acknowledgein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
isBodyAssignableTo
public boolean isBodyAssignableTo(java.lang.Class target) throws jakarta.jms.JMSException- Specified by:
isBodyAssignableToin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getBody
public final <T> T getBody(java.lang.Class<T> asType) throws jakarta.jms.JMSException- Specified by:
getBodyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
doGetBody
protected <T> T doGetBody(java.lang.Class<T> asType) throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
clearBody
public void clearBody() throws jakarta.jms.JMSException- Specified by:
clearBodyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
isValidatePropertyNames
public boolean isValidatePropertyNames()
-
setValidatePropertyNames
public void setValidatePropertyNames(boolean validatePropertyNames)
-
isReadOnly
public boolean isReadOnly()
-
setReadOnly
public void setReadOnly(boolean readOnly)
-
isReadOnlyBody
public boolean isReadOnlyBody()
-
setReadOnlyBody
public void setReadOnlyBody(boolean readOnlyBody)
-
isReadOnlyProperties
public boolean isReadOnlyProperties()
-
setReadOnlyProperties
public void setReadOnlyProperties(boolean readOnlyProperties)
-
getJMSMessageID
public java.lang.String getJMSMessageID() throws jakarta.jms.JMSException- Specified by:
getJMSMessageIDin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSMessageID
public void setJMSMessageID(java.lang.String value) throws jakarta.jms.JMSException- Specified by:
setJMSMessageIDin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSTimestamp
public long getJMSTimestamp() throws jakarta.jms.JMSException- Specified by:
getJMSTimestampin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSTimestamp
public void setJMSTimestamp(long timestamp) throws jakarta.jms.JMSException- Specified by:
setJMSTimestampin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSCorrelationID
public java.lang.String getJMSCorrelationID() throws jakarta.jms.JMSException- Specified by:
getJMSCorrelationIDin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSCorrelationID
public void setJMSCorrelationID(java.lang.String correlationId) throws jakarta.jms.JMSException- Specified by:
setJMSCorrelationIDin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSCorrelationIDAsBytes
public byte[] getJMSCorrelationIDAsBytes() throws jakarta.jms.JMSException- Specified by:
getJMSCorrelationIDAsBytesin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSCorrelationIDAsBytes
public void setJMSCorrelationIDAsBytes(byte[] correlationId) throws jakarta.jms.JMSException- Specified by:
setJMSCorrelationIDAsBytesin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSReplyTo
public jakarta.jms.Destination getJMSReplyTo() throws jakarta.jms.JMSException- Specified by:
getJMSReplyToin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSReplyTo
public void setJMSReplyTo(jakarta.jms.Destination destination) throws jakarta.jms.JMSException- Specified by:
setJMSReplyToin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSDestination
public jakarta.jms.Destination getJMSDestination() throws jakarta.jms.JMSException- Specified by:
getJMSDestinationin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSDestination
public void setJMSDestination(jakarta.jms.Destination destination) throws jakarta.jms.JMSException- Specified by:
setJMSDestinationin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSDeliveryMode
public int getJMSDeliveryMode() throws jakarta.jms.JMSException- Specified by:
getJMSDeliveryModein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSDeliveryMode
public void setJMSDeliveryMode(int mode) throws jakarta.jms.JMSException- Specified by:
setJMSDeliveryModein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSRedelivered
public boolean getJMSRedelivered() throws jakarta.jms.JMSException- Specified by:
getJMSRedeliveredin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSRedelivered
public void setJMSRedelivered(boolean redelivered) throws jakarta.jms.JMSException- Specified by:
setJMSRedeliveredin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSType
public java.lang.String getJMSType() throws jakarta.jms.JMSException- Specified by:
getJMSTypein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSType
public void setJMSType(java.lang.String type) throws jakarta.jms.JMSException- Specified by:
setJMSTypein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSExpiration
public long getJMSExpiration() throws jakarta.jms.JMSException- Specified by:
getJMSExpirationin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSExpiration
public void setJMSExpiration(long expiration) throws jakarta.jms.JMSException- Specified by:
setJMSExpirationin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSPriority
public int getJMSPriority() throws jakarta.jms.JMSException- Specified by:
getJMSPriorityin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSPriority
public void setJMSPriority(int priority) throws jakarta.jms.JMSException- Specified by:
setJMSPriorityin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getJMSDeliveryTime
public long getJMSDeliveryTime() throws jakarta.jms.JMSException- Specified by:
getJMSDeliveryTimein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setJMSDeliveryTime
public void setJMSDeliveryTime(long deliveryTime) throws jakarta.jms.JMSException- Specified by:
setJMSDeliveryTimein interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
clearProperties
public void clearProperties() throws jakarta.jms.JMSException- Specified by:
clearPropertiesin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
propertyExists
public boolean propertyExists(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
propertyExistsin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getPropertyNames
public java.util.Enumeration<?> getPropertyNames() throws jakarta.jms.JMSException- Specified by:
getPropertyNamesin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getAllPropertyNames
public java.util.Enumeration<?> getAllPropertyNames() throws jakarta.jms.JMSExceptionreturn all property names, including standard JMS properties and JMSX properties- Returns:
- Enumeration of all property names on this message
- Throws:
jakarta.jms.JMSException- if an error occurs while reading the properties from the Message.
-
setObjectProperty
public void setObjectProperty(java.lang.String name, java.lang.Object value) throws jakarta.jms.JMSException- Specified by:
setObjectPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getObjectProperty
public java.lang.Object getObjectProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getObjectPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getBooleanProperty
public boolean getBooleanProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getBooleanPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getByteProperty
public byte getByteProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getBytePropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getShortProperty
public short getShortProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getShortPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getIntProperty
public int getIntProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getIntPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getLongProperty
public long getLongProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getLongPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getFloatProperty
public float getFloatProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getFloatPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getDoubleProperty
public double getDoubleProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getDoublePropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getStringProperty
public java.lang.String getStringProperty(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getStringPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setBooleanProperty
public void setBooleanProperty(java.lang.String name, boolean value) throws jakarta.jms.JMSException- Specified by:
setBooleanPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setByteProperty
public void setByteProperty(java.lang.String name, byte value) throws jakarta.jms.JMSException- Specified by:
setBytePropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setShortProperty
public void setShortProperty(java.lang.String name, short value) throws jakarta.jms.JMSException- Specified by:
setShortPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setIntProperty
public void setIntProperty(java.lang.String name, int value) throws jakarta.jms.JMSException- Specified by:
setIntPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setLongProperty
public void setLongProperty(java.lang.String name, long value) throws jakarta.jms.JMSException- Specified by:
setLongPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setFloatProperty
public void setFloatProperty(java.lang.String name, float value) throws jakarta.jms.JMSException- Specified by:
setFloatPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setDoubleProperty
public void setDoubleProperty(java.lang.String name, double value) throws jakarta.jms.JMSException- Specified by:
setDoublePropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
setStringProperty
public void setStringProperty(java.lang.String name, java.lang.String value) throws jakarta.jms.JMSException- Specified by:
setStringPropertyin interfacejakarta.jms.Message- Throws:
jakarta.jms.JMSException
-
getAcknowledgeCallback
public JmsAcknowledgeCallback getAcknowledgeCallback()
-
setAcknowledgeCallback
public void setAcknowledgeCallback(JmsAcknowledgeCallback jmsAcknowledgeCallback)
-
onSend
public void onSend(long producerTtl) throws jakarta.jms.JMSExceptionUsed to trigger processing required to place the message in a state where it is ready to be written to the wire. This processing can include such tasks as ensuring that the proper message headers are set or compressing message bodies etc. During this call the message is placed in a read-only mode and will not be returned to a writable state until send completion is triggered.- Parameters:
producerTtl- the time to live value that the producer was configured with at send time.- Throws:
jakarta.jms.JMSException- if an error occurs while preparing the message for send.
-
onSendComplete
public void onSendComplete()
Used to trigger processing required to place the message into a writable state once again following completion of the send operation.
-
onDispatch
public void onDispatch() throws jakarta.jms.JMSExceptionUsed to trigger processing required before dispatch of a message to its intended consumer. This method should perform any needed decoding or message property processing prior to the message arriving at a consumer.- Throws:
jakarta.jms.JMSException- if an error occurs while preparing the message for dispatch.
-
getConnection
public JmsConnection getConnection()
-
setConnection
public void setConnection(JmsConnection connection)
-
getFacade
public JmsMessageFacade getFacade()
-
isExpired
public boolean isExpired()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
checkReadOnly
protected void checkReadOnly() throws jakarta.jms.MessageNotWriteableException- Throws:
jakarta.jms.MessageNotWriteableException
-
checkReadOnlyProperties
protected void checkReadOnlyProperties() throws jakarta.jms.MessageNotWriteableException- Throws:
jakarta.jms.MessageNotWriteableException
-
checkReadOnlyBody
protected void checkReadOnlyBody() throws jakarta.jms.MessageNotWriteableException- Throws:
jakarta.jms.MessageNotWriteableException
-
checkWriteOnlyBody
protected void checkWriteOnlyBody() throws jakarta.jms.MessageNotReadableException- Throws:
jakarta.jms.MessageNotReadableException
-
-