Class JMSMapMessage
- All Implemented Interfaces:
JmsMessage, jakarta.jms.MapMessage, jakarta.jms.Message, Serializable
JMSMapMessage is used to send a set of name/type/value triplets. The entries can be accessed sequentially or randomly by name. The order of the entries is undefined. It adds a map message body.
The primitive types can be read or written explicitly using methods for each type. They can also
be read or written generically as objects. For example, the call
MapMessage.setInt("foo",
6)
is equivalent to
MapMessage.setObject("foo", new Integer(6)). Both forms are
provided because the explicit form is convenient for static programming and the object form is
needed when types are not known at compile time.
When a client receives a MapMessage it is in read-only mode. If a client attempts to write to the message at this point a MessageNotWriteableException is thrown. If clearBody() is called the message can then be both read from and written to.
Map messages support the following conversion table. The marked cases are supported and the unmarked cases throw a JMSException. The String to primitive conversions might throw a runtime exception if the primitive's valueOf() method does not accept it as a valid String representation of the primitive.
A value written as the row type can be read as the column type.
| boolean | byte | short | char | int | long | float | double | String | byte[] | |
|---|---|---|---|---|---|---|---|---|---|---|
| boolean | X | X | ||||||||
| byte | X | X | X | X | X | |||||
| short | X | X | X | X | ||||||
| char | X | X | ||||||||
| int | X | X | X | |||||||
| long | X | X | ||||||||
| float | X | X | X | |||||||
| double | X | X | ||||||||
| String | X | X | X | X | X | X | X | X | ||
| byte[] | X |
To create a map message please call Session.createMapMessage(). Do not call the default constructor.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe SCCSID which is expanded when the file is extracted from CMVCFields inherited from interface jakarta.jms.Message
DEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleangetBoolean(String name) Gets the boolean value of the named key.byteGets the byte value of the named key.byte[]Gets the byte array value of the named key.charGets the Unicode char value of the named key.doubleGets the double value of the named key.floatGets the float value of the named key.intGets the integer value of the named key.longGets the long value of the named key.Enumeration<?> Gets an Enumeration of all the MapMessage's names.Gets the Java object with the given name.shortGets the short value of the named key.Gets the String value of the named key.booleanitemExists(String name) Checks whether an item exists in this MapMessage.voidsetBoolean(String name, boolean value) Sets a boolean value with the given name in the map.voidSets a byte value with the given name in the map.voidSets a byte array with the given name in the map.voidSets a portion of a byte array in the map with the given name.voidSets a Unicode character with the given name in the map.voidSets a double value with the given name in the map.voidSets a floating point value with the given name in the map.voidSets an integer value with the given name in the map.voidSets a long value with the given name in the map.voidSets a Java object with the given name in the map.voidSets a short value with the given name in the map.voidSets a String value with the given name in the map.Methods inherited from class JMSMessage
acknowledge, clearBody, clearProperties, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, isBodyAssignableTo, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty, toString, updateFromMessageMethods inherited from interface JmsMessage
getDelegateMethods inherited from interface jakarta.jms.Message
acknowledge, clearBody, clearProperties, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, isBodyAssignableTo, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
-
Field Details
-
sccsid
The SCCSID which is expanded when the file is extracted from CMVC- See Also:
-
-
Constructor Details
-
JMSMapMessage
public JMSMapMessage()Deprecated.To create a map message please call
Session.createMapMessage().Do not call this default constructor.
-
-
Method Details
-
getBoolean
Gets the boolean value of the named key.- Specified by:
getBooleanin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the boolean value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getByte
Gets the byte value of the named key.- Specified by:
getBytein interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the byte value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getBytes
Gets the byte array value of the named key.- Specified by:
getBytesin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the byte array
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid.
-
getChar
Gets the Unicode char value of the named key.- Specified by:
getCharin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the char
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getDouble
Gets the double value of the named key.- Specified by:
getDoublein interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the double value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getFloat
Gets the float value of the named key.- Specified by:
getFloatin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the float value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getInt
Gets the integer value of the named key.- Specified by:
getIntin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the integer value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getLong
Gets the long value of the named key.- Specified by:
getLongin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the long value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getMapNames
Gets an Enumeration of all the MapMessage's names.- Specified by:
getMapNamesin interfacejakarta.jms.MapMessage- Returns:
- an enumeration of all the names in this MapMessage
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal error
-
getObject
Gets the Java object with the given name.This method can be used to return, as a class instance, an object that had been stored in the Map with the equivalent setObject() method call, or its equivalent primitive setter method.
- Specified by:
getObjectin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the Java object- Returns:
- a class which represents the object referred to by the given name. If there is no item by this name, a null value is returned.
- Throws:
jakarta.jms.JMSException- if JMS fails to read message due to an internal error
-
getShort
Gets the short value of the named key.- Specified by:
getShortin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the short value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
getString
Gets the String value of the named key.- Specified by:
getStringin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the key- Returns:
- the String value
- Throws:
jakarta.jms.JMSException- if JMS fails to read the message due to an internal errorjakarta.jms.MessageFormatException- if this type conversion is not valid
-
itemExists
Checks whether an item exists in this MapMessage.- Specified by:
itemExistsin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the item to test- Returns:
- true if the item does exist
- Throws:
jakarta.jms.JMSException- if a JMS error occurs
-
setBoolean
Sets a boolean value with the given name in the map.- Specified by:
setBooleanin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the booleanvalue- the boolean value to set in the map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setByte
Sets a byte value with the given name in the map.- Specified by:
setBytein interfacejakarta.jms.MapMessage- Parameters:
name- the name of the bytevalue- the byte value to set in the map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setBytes
Sets a byte array with the given name in the map.- Specified by:
setBytesin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the arrayvalue- the byte array to set in the map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setBytes
public void setBytes(String name, byte[] value, int offset, int length) throws jakarta.jms.JMSException Sets a portion of a byte array in the map with the given name.- Specified by:
setBytesin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the byte arrayvalue- the byte array to set in the Mapoffset- the initial offset within the byte arraylength- the number of bytes to use- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal error.jakarta.jms.MessageNotWriteableException- if the message in read-only mode.
-
setChar
Sets a Unicode character with the given name in the map.- Specified by:
setCharin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the charactervalue- the value to set in the Map.- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal error.jakarta.jms.MessageNotWriteableException- if the message in read-only mode.
-
setDouble
Sets a double value with the given name in the map.- Specified by:
setDoublein interfacejakarta.jms.MapMessage- Parameters:
name- the name of the doublevalue- the value to set in the Map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message is in read-only mode
-
setFloat
Sets a floating point value with the given name in the map.- Specified by:
setFloatin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the floatvalue- the value to set in the map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setInt
Sets an integer value with the given name in the map.- Specified by:
setIntin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the integervalue- the value to set in the Map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setLong
Sets a long value with the given name in the map.- Specified by:
setLongin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the longvalue- the value to set in the Map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setObject
Sets a Java object with the given name in the map.This method only works for the primitive object wrapper classes (Integer, Double, Long ...), String, and byte arrays.
- Specified by:
setObjectin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the objectvalue- the value to set in the Map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setShort
Sets a short value with the given name in the map.- Specified by:
setShortin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the shortvalue- the short value to set in the map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-
setString
Sets a String value with the given name in the map.- Specified by:
setStringin interfacejakarta.jms.MapMessage- Parameters:
name- the name of the Stringvalue- the String value to set in the Map- Throws:
jakarta.jms.JMSException- if JMS fails to write the message due to an internal errorjakarta.jms.MessageNotWriteableException- if the message in read-only mode
-