Class ActiveMQMapMessage
- java.lang.Object
-
- org.apache.activemq.artemis.jms.client.ActiveMQMessage
-
- org.apache.activemq.artemis.jms.client.ActiveMQMapMessage
-
- All Implemented Interfaces:
MapMessage,Message
- Direct Known Subclasses:
ActiveMQMapCompatibleMessage
public class ActiveMQMapMessage extends ActiveMQMessage implements MapMessage
ActiveMQ Artemis implementation of a JMS MapMessage.
-
-
Field Summary
Fields Modifier and Type Field Description static byteTYPE-
Fields inherited from class org.apache.activemq.artemis.jms.client.ActiveMQMessage
message, OLD_QUEUE_QUALIFIED_PREFIX, OLD_TEMP_QUEUE_QUALIFED_PREFIX, OLD_TEMP_TOPIC_QUALIFED_PREFIX, OLD_TOPIC_QUALIFIED_PREFIX, propertiesReadOnly, readOnly, replyTo
-
Fields inherited from interface jakarta.jms.Message
DEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
-
-
Constructor Summary
Constructors Modifier Constructor Description ActiveMQMapMessage()ActiveMQMapMessage(MapMessage foreign, ClientSession session)Constructor for a foreign MapMessageprotectedActiveMQMapMessage(ClientMessage message, ClientSession session)protectedActiveMQMapMessage(ClientSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearBody()Clears out the message body.voiddoBeforeReceive()voiddoBeforeSend()protected <T> TgetBodyInternal(Class<T> c)booleangetBoolean(String name)Returns thebooleanvalue with the specified name.bytegetByte(String name)Returns thebytevalue with the specified name.byte[]getBytes(String name)Returns the byte array value with the specified name.chargetChar(String name)Returns the Unicode character value with the specified name.doublegetDouble(String name)Returns thedoublevalue with the specified name.floatgetFloat(String name)Returns thefloatvalue with the specified name.intgetInt(String name)Returns theintvalue with the specified name.longgetLong(String name)Returns thelongvalue with the specified name.EnumerationgetMapNames()Returns anEnumerationof all the names in theMapMessageobject.ObjectgetObject(String name)Returns the value of the object with the specified name.shortgetShort(String name)Returns theshortvalue with the specified name.StringgetString(String name)Returns theStringvalue with the specified name.bytegetType()protected booleanhasNoBody()Helper method forActiveMQMessage.isBodyAssignableTo(Class).booleanisBodyAssignableTo(Class c)Returns whether the message body is capable of being assigned to the specified type.booleanitemExists(String name)Indicates whether an item exists in thisMapMessageobject.voidsetBoolean(String name, boolean value)Sets abooleanvalue with the specified name into the Map.voidsetByte(String name, byte value)Sets abytevalue with the specified name into the Map.voidsetBytes(String name, byte[] value)Sets a byte array value with the specified name into the Map.voidsetBytes(String name, byte[] value, int offset, int length)Sets a portion of the byte array value with the specified name into the Map.voidsetChar(String name, char value)Sets a Unicode character value with the specified name into the Map.voidsetDouble(String name, double value)Sets adoublevalue with the specified name into the Map.voidsetFloat(String name, float value)Sets afloatvalue with the specified name into the Map.voidsetInt(String name, int value)Sets anintvalue with the specified name into the Map.voidsetLong(String name, long value)Sets alongvalue with the specified name into the Map.voidsetObject(String name, Object value)Sets an object value with the specified name into the Map.voidsetShort(String name, short value)Sets ashortvalue with the specified name into the Map.voidsetString(String name, String value)Sets aStringvalue with the specified name into the Map.-
Methods inherited from class org.apache.activemq.artemis.jms.client.ActiveMQMessage
acknowledge, checkBuffer, checkPrefix, checkPrefixStr, checkRead, checkWrite, clearProperties, coreCompositeTypeToJMSCompositeType, coreMaptoJMSMap, createMessage, createMessage, getBody, getBooleanProperty, getByteProperty, getCoreMessage, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, prefixOf, propertyExists, resetMessageID, saveToOutputStream, setBooleanProperty, setByteProperty, setClientAcknowledge, setDoubleProperty, setFloatProperty, setIndividualAcknowledge, setInputStream, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setOutputStream, setShortProperty, setStringProperty, toString, waitCompletionOnStream
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jakarta.jms.Message
acknowledge, clearProperties, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
-
-
-
-
Field Detail
-
TYPE
public static final byte TYPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ActiveMQMapMessage
protected ActiveMQMapMessage(ClientSession session)
-
ActiveMQMapMessage
protected ActiveMQMapMessage(ClientMessage message, ClientSession session)
-
ActiveMQMapMessage
public ActiveMQMapMessage()
-
ActiveMQMapMessage
public ActiveMQMapMessage(MapMessage foreign, ClientSession session) throws JMSException
Constructor for a foreign MapMessage- Parameters:
foreign-- Throws:
JMSException
-
-
Method Detail
-
getType
public byte getType()
- Overrides:
getTypein classActiveMQMessage
-
setBoolean
public void setBoolean(String name, boolean value) throws JMSException
Description copied from interface:MapMessageSets abooleanvalue with the specified name into the Map.- Specified by:
setBooleanin interfaceMapMessage- Parameters:
name- the name of thebooleanvalue- thebooleanvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setByte
public void setByte(String name, byte value) throws JMSException
Description copied from interface:MapMessageSets abytevalue with the specified name into the Map.- Specified by:
setBytein interfaceMapMessage- Parameters:
name- the name of thebytevalue- thebytevalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setShort
public void setShort(String name, short value) throws JMSException
Description copied from interface:MapMessageSets ashortvalue with the specified name into the Map.- Specified by:
setShortin interfaceMapMessage- Parameters:
name- the name of theshortvalue- theshortvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setChar
public void setChar(String name, char value) throws JMSException
Description copied from interface:MapMessageSets a Unicode character value with the specified name into the Map.- Specified by:
setCharin interfaceMapMessage- Parameters:
name- the name of the Unicode charactervalue- the Unicode character value to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setInt
public void setInt(String name, int value) throws JMSException
Description copied from interface:MapMessageSets anintvalue with the specified name into the Map.- Specified by:
setIntin interfaceMapMessage- Parameters:
name- the name of theintvalue- theintvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setLong
public void setLong(String name, long value) throws JMSException
Description copied from interface:MapMessageSets alongvalue with the specified name into the Map.- Specified by:
setLongin interfaceMapMessage- Parameters:
name- the name of thelongvalue- thelongvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setFloat
public void setFloat(String name, float value) throws JMSException
Description copied from interface:MapMessageSets afloatvalue with the specified name into the Map.- Specified by:
setFloatin interfaceMapMessage- Parameters:
name- the name of thefloatvalue- thefloatvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setDouble
public void setDouble(String name, double value) throws JMSException
Description copied from interface:MapMessageSets adoublevalue with the specified name into the Map.- Specified by:
setDoublein interfaceMapMessage- Parameters:
name- the name of thedoublevalue- thedoublevalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setString
public void setString(String name, String value) throws JMSException
Description copied from interface:MapMessageSets aStringvalue with the specified name into the Map.- Specified by:
setStringin interfaceMapMessage- Parameters:
name- the name of theStringvalue- theStringvalue to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setBytes
public void setBytes(String name, byte[] value) throws JMSException
Description copied from interface:MapMessageSets a byte array value with the specified name into the Map.- Specified by:
setBytesin interfaceMapMessage- Parameters:
name- the name of the byte arrayvalue- the byte array value to set in the Map; the array is copied so that the value fornamewill not be altered by future modifications- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setBytes
public void setBytes(String name, byte[] value, int offset, int length) throws JMSException
Description copied from interface:MapMessageSets a portion of the byte array value with the specified name into the Map.- Specified by:
setBytesin interfaceMapMessage- Parameters:
name- the name of the byte arrayvalue- the byte array value to set in the Mapoffset- the initial offset within the byte arraylength- the number of bytes to use- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageNotWriteableException- if the message is in read-only mode.
-
setObject
public void setObject(String name, Object value) throws JMSException
Description copied from interface:MapMessageSets an object value with the specified name into the Map.This method works only for the objectified primitive object types (
Integer,Double,Long...),Stringobjects, and byte arrays.- Specified by:
setObjectin interfaceMapMessage- Parameters:
name- the name of the Java objectvalue- the Java object value to set in the Map- Throws:
JMSException- if the Jakarta Messaging provider fails to write the message due to some internal error.MessageFormatException- if the object is invalid.MessageNotWriteableException- if the message is in read-only mode.
-
getBoolean
public boolean getBoolean(String name) throws JMSException
Description copied from interface:MapMessageReturns thebooleanvalue with the specified name.- Specified by:
getBooleanin interfaceMapMessage- Parameters:
name- the name of theboolean- Returns:
- the
booleanvalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getByte
public byte getByte(String name) throws JMSException
Description copied from interface:MapMessageReturns thebytevalue with the specified name.- Specified by:
getBytein interfaceMapMessage- Parameters:
name- the name of thebyte- Returns:
- the
bytevalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getShort
public short getShort(String name) throws JMSException
Description copied from interface:MapMessageReturns theshortvalue with the specified name.- Specified by:
getShortin interfaceMapMessage- Parameters:
name- the name of theshort- Returns:
- the
shortvalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getChar
public char getChar(String name) throws JMSException
Description copied from interface:MapMessageReturns the Unicode character value with the specified name.- Specified by:
getCharin interfaceMapMessage- Parameters:
name- the name of the Unicode character- Returns:
- the Unicode character value with the specified name
- Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getInt
public int getInt(String name) throws JMSException
Description copied from interface:MapMessageReturns theintvalue with the specified name.- Specified by:
getIntin interfaceMapMessage- Parameters:
name- the name of theint- Returns:
- the
intvalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getLong
public long getLong(String name) throws JMSException
Description copied from interface:MapMessageReturns thelongvalue with the specified name.- Specified by:
getLongin interfaceMapMessage- Parameters:
name- the name of thelong- Returns:
- the
longvalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getFloat
public float getFloat(String name) throws JMSException
Description copied from interface:MapMessageReturns thefloatvalue with the specified name.- Specified by:
getFloatin interfaceMapMessage- Parameters:
name- the name of thefloat- Returns:
- the
floatvalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getDouble
public double getDouble(String name) throws JMSException
Description copied from interface:MapMessageReturns thedoublevalue with the specified name.- Specified by:
getDoublein interfaceMapMessage- Parameters:
name- the name of thedouble- Returns:
- the
doublevalue with the specified name - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getString
public String getString(String name) throws JMSException
Description copied from interface:MapMessageReturns theStringvalue with the specified name.- Specified by:
getStringin interfaceMapMessage- Parameters:
name- the name of theString- Returns:
- the
Stringvalue with the specified name; if there is no item by this name, a null value is returned - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getBytes
public byte[] getBytes(String name) throws JMSException
Description copied from interface:MapMessageReturns the byte array value with the specified name.- Specified by:
getBytesin interfaceMapMessage- Parameters:
name- the name of the byte array- Returns:
- a copy of the byte array value with the specified name; if there is no item by this name, a null value is returned.
- Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException- if this type conversion is invalid.
-
getObject
public Object getObject(String name) throws JMSException
Description copied from interface:MapMessageReturns the value of the object with the specified name.This method can be used to return, in objectified format, an object in the Java programming language ("Java object") that had been stored in the Map with the equivalent
setObjectmethod call, or its equivalent primitivesettypemethod.Note that byte values are returned as
byte[], notByte[].- Specified by:
getObjectin interfaceMapMessage- Parameters:
name- the name of the Java object- Returns:
- a copy of the Java object value with the specified name, in objectified format (for example, if the object
was set as an
int, anIntegeris returned); if there is no item by this name, a null value is returned - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.
-
getMapNames
public Enumeration getMapNames() throws JMSException
Description copied from interface:MapMessageReturns anEnumerationof all the names in theMapMessageobject.- Specified by:
getMapNamesin interfaceMapMessage- Returns:
- an enumeration of all the names in this
MapMessage - Throws:
JMSException- if the Jakarta Messaging provider fails to read the message due to some internal error.
-
itemExists
public boolean itemExists(String name) throws JMSException
Description copied from interface:MapMessageIndicates whether an item exists in thisMapMessageobject.- Specified by:
itemExistsin interfaceMapMessage- Parameters:
name- the name of the item to test- Returns:
- true if the item exists
- Throws:
JMSException- if the Jakarta Messaging provider fails to determine if the item exists due to some internal error.
-
clearBody
public void clearBody() throws JMSExceptionDescription copied from interface:MessageClears out the message body. Clearing a message's body does not clear its header values or property entries.If this message body was read-only, calling this method leaves the message body in the same state as an empty body in a newly created message.
- Specified by:
clearBodyin interfaceMessage- Overrides:
clearBodyin classActiveMQMessage- Throws:
JMSException- if the Jakarta Messaging provider fails to clear the message body due to some internal error.
-
doBeforeSend
public void doBeforeSend() throws Exception- Overrides:
doBeforeSendin classActiveMQMessage- Throws:
Exception
-
doBeforeReceive
public void doBeforeReceive() throws ActiveMQException- Overrides:
doBeforeReceivein classActiveMQMessage- Throws:
ActiveMQException
-
hasNoBody
protected boolean hasNoBody()
Description copied from class:ActiveMQMessageHelper method forActiveMQMessage.isBodyAssignableTo(Class).- Overrides:
hasNoBodyin classActiveMQMessage- Returns:
- true if the message has no body.
-
isBodyAssignableTo
public boolean isBodyAssignableTo(Class c)
Description copied from interface:MessageReturns whether the message body is capable of being assigned to the specified type. If this method returns true then a subsequent call to the methodgetBodyon the same message with the same type argument would not throw a MessageFormatException.If the message is a
StreamMessagethen false is always returned. If the message is aObjectMessageand object deserialization fails then false is returned. If the message has no body then any type may be specified and true is returned.- Specified by:
isBodyAssignableToin interfaceMessage- Overrides:
isBodyAssignableToin classActiveMQMessage- Parameters:
c- The specified type
If the message is aTextMessagethen this method will only return true if this parameter is set toString.classor another type to which aStringis assignable.
If the message is aObjectMessagethen this method will only return true if this parameter is set tojava.io.Serializable.classor another class to which the body is assignable.
If the message is aMapMessagethen this method will only return true if this parameter is set tojava.util.Map.class(orjava.lang.Object.class).
If the message is aBytesMessagethen this this method will only return true if this parameter is set tobyte[].class(orjava.lang.Object.class).
If the message is aTextMessage,ObjectMessage,MapMessageorBytesMessageand the message has no body, then the above does not apply and this method will return true irrespective of the value of this parameter.
If the message is aMessage(but not one of its subtypes) then this method will return true irrespective of the value of this parameter.- Returns:
- whether the message body is capable of being assigned to the specified type
-
getBodyInternal
protected <T> T getBodyInternal(Class<T> c)
- Overrides:
getBodyInternalin classActiveMQMessage
-
-