public class ActiveMQMapMessage extends ActiveMQMessage implements MapMessage
MapMessage
object is used to send a set of name-value pairs.
The names are String
objects, and the values are primitive
data types in the Java programming language. The names must have a value that
is not null, and not an empty string. The entries can be accessed
sequentially or randomly by name. The order of the entries is undefined.
MapMessage
inherits from the Message
interface
and adds a message body that contains a Map.
The primitive types can be read or written explicitly using methods for each
type. They may also be read or written generically as objects. For instance,
a call to 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 now be both read from and
written to.
MapMessage
objects support the following conversion table. The
marked cases must be supported. The unmarked cases must throw a
JMSException
. The String
-to-primitive
conversions may 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 |---------------------------------------------------------------------- <p/>
Attempting to read a null value as a primitive type must be treated as
calling the primitive's corresponding valueOf(String)
conversion method with a null value. Since char
does not
support a String
conversion, attempting to read a null value
as a char
must throw a NullPointerException
.
Message.MessageDestination
Modifier and Type | Field and Description |
---|---|
static byte |
DATA_STRUCTURE_TYPE |
protected Map<String,Object> |
map |
acknowledgeCallback, BROKER_PATH_PROPERTY, DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY
arrival, brokerInTime, brokerOutTime, compressed, content, correlationId, dataStructure, DEFAULT_MINIMUM_MESSAGE_SIZE, destination, droppable, expiration, groupID, groupSequence, jmsXGroupFirstForConsumer, marshalledProperties, messageId, ORIGINAL_EXPIRATION, originalDestination, originalTransactionId, persistent, priority, producerId, properties, readOnlyBody, readOnlyProperties, recievedByDFBridge, redeliveryCounter, replyTo, size, targetConsumerId, timestamp, transactionId, type, userID
commandId, responseRequired
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
AMQ_SCHEDULED_CRON, AMQ_SCHEDULED_DELAY, AMQ_SCHEDULED_ID, AMQ_SCHEDULED_PERIOD, AMQ_SCHEDULED_REPEAT, AMQ_SCHEDULER_ACTION, AMQ_SCHEDULER_ACTION_BROWSE, AMQ_SCHEDULER_ACTION_END_TIME, AMQ_SCHEDULER_ACTION_REMOVE, AMQ_SCHEDULER_ACTION_REMOVEALL, AMQ_SCHEDULER_ACTION_START_TIME, AMQ_SCHEDULER_MANAGEMENT_DESTINATION
Constructor and Description |
---|
ActiveMQMapMessage() |
Modifier and Type | Method and Description |
---|---|
void |
beforeMarshall(WireFormat wireFormat) |
void |
clearBody()
Clears out the message body.
|
void |
clearMarshalledState() |
void |
compress() |
Message |
copy() |
boolean |
getBoolean(String name)
Returns the
boolean value with the specified name. |
byte |
getByte(String name)
Returns the
byte value with the specified name. |
byte[] |
getBytes(String name)
Returns the byte array value with the specified name.
|
char |
getChar(String name)
Returns the Unicode character value with the specified name.
|
Map<String,Object> |
getContentMap() |
byte |
getDataStructureType() |
double |
getDouble(String name)
Returns the
double value with the specified name. |
float |
getFloat(String name)
Returns the
float value with the specified name. |
int |
getInt(String name)
Returns the
int value with the specified name. |
String |
getJMSXMimeType()
Returns the MIME type of this mesage.
|
long |
getLong(String name)
Returns the
long value with the specified name. |
Enumeration<String> |
getMapNames()
Returns an
Enumeration of all the names in the
MapMessage object. |
Object |
getObject(String name)
Returns the value of the object with the specified name.
|
short |
getShort(String name)
Returns the
short value with the specified name. |
String |
getString(String name)
Returns the
String value with the specified name. |
boolean |
itemExists(String name)
Indicates whether an item exists in this
MapMessage
object. |
protected void |
put(String name,
Object value) |
void |
setBoolean(String name,
boolean value)
Sets a
boolean value with the specified name into the Map. |
void |
setByte(String name,
byte value)
Sets a
byte value with the specified name into the Map. |
void |
setBytes(String name,
byte[] value)
Sets a byte array value with the specified name into the Map.
|
void |
setBytes(String name,
byte[] value,
int offset,
int length)
Sets a portion of the byte array value with the specified name into the
Map.
|
void |
setChar(String name,
char value)
Sets a Unicode character value with the specified name into the Map.
|
void |
setDouble(String name,
double value)
Sets a
double value with the specified name into the Map. |
void |
setFloat(String name,
float value)
Sets a
float value with the specified name into the Map. |
void |
setInt(String name,
int value)
Sets an
int value with the specified name into the Map. |
void |
setLong(String name,
long value)
Sets a
long value with the specified name into the Map. |
void |
setObject(String name,
Object value)
Sets an object value with the specified name into the Map.
|
void |
setShort(String name,
short value)
Sets a
short value with the specified name into the Map. |
void |
setString(String name,
String value)
Sets a
String value with the specified name into the Map. |
void |
storeContent() |
void |
storeContentAndClear() |
String |
toString() |
acknowledge, checkReadOnlyBody, checkValidObject, checkValidScheduled, clearProperties, convertScheduled, copy, decodeString, encodeString, equals, getAcknowledgeCallback, getAllPropertyNames, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, hashCode, onSend, propertyExists, setAcknowledgeCallback, setBooleanProperty, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setObjectProperty, setProperties, setShortProperty, setStringProperty, visit
afterMarshall, afterUnmarshall, beforeUnmarshall, copy, decrementReferenceCount, doCompress, getArrival, getBrokerInTime, getBrokerOutTime, getBrokerPath, getCluster, getConnection, getContent, getCorrelationId, getDataStructure, getDestination, getExpiration, getGroupID, getGroupSequence, getMarshalledProperties, getMemoryUsage, getMessage, getMessageHardRef, getMessageId, getMinimumMessageSize, getOriginalDestination, getOriginalTransactionId, getPriority, getProducerId, getProperties, getProperty, getRedeliveryCounter, getReferenceCount, getRegionDestination, getReplyTo, getSize, getTargetConsumerId, getTimestamp, getTransactionId, getType, getUserID, incrementRedeliveryCounter, incrementReferenceCount, isAdvisory, isCompressed, isDroppable, isDropped, isExpired, isInTransaction, isJMSXGroupFirstForConsumer, isMarshallAware, isMessage, isPersistent, isReadOnlyBody, isReadOnlyProperties, isRecievedByDFBridge, isRedelivered, lazyCreateProperties, onMessageRolledBack, removeProperty, setArrival, setBrokerInTime, setBrokerOutTime, setBrokerPath, setCluster, setCompressed, setConnection, setContent, setCorrelationId, setDataStructure, setDestination, setDroppable, setExpiration, setGroupID, setGroupSequence, setJMSXGroupFirstForConsumer, setMarshalledProperties, setMemoryUsage, setMessageId, setOriginalDestination, setOriginalTransactionId, setPersistent, setPriority, setProducerId, setProperty, setReadOnlyBody, setReadOnlyProperties, setRecievedByDFBridge, setRedelivered, setRedeliveryCounter, setRegionDestination, setReplyTo, setTargetConsumerId, setTimestamp, setTransactionId, setType, setUserID, toString
copy, getCommandId, getFrom, getTo, isBrokerInfo, isConnectionControl, isConsumerControl, isMessageAck, isMessageDispatch, isMessageDispatchNotification, isResponse, isResponseRequired, isShutdownInfo, isWireFormatInfo, setCommandId, setFrom, setResponseRequired, setTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
acknowledge, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
public static final byte DATA_STRUCTURE_TYPE
public ActiveMQMapMessage()
public Message copy()
copy
in class ActiveMQMessage
public void beforeMarshall(WireFormat wireFormat) throws IOException
beforeMarshall
in interface MarshallAware
beforeMarshall
in class Message
IOException
public void clearMarshalledState() throws JMSException
clearMarshalledState
in class Message
JMSException
public void storeContentAndClear()
storeContentAndClear
in class ActiveMQMessage
public void storeContent()
storeContent
in class ActiveMQMessage
public byte getDataStructureType()
getDataStructureType
in interface DataStructure
getDataStructureType
in class ActiveMQMessage
public String getJMSXMimeType()
Message
BlobMessage
it allows you to create a selector on the MIME type of the BLOB bodygetJMSXMimeType
in class ActiveMQMessage
public void clearBody() throws JMSException
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.
clearBody
in interface Message
clearBody
in class ActiveMQMessage
JMSException
public boolean getBoolean(String name) throws JMSException
boolean
value with the specified name.getBoolean
in interface MapMessage
name
- the name of the boolean
boolean
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public byte getByte(String name) throws JMSException
byte
value with the specified name.getByte
in interface MapMessage
name
- the name of the byte
byte
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public short getShort(String name) throws JMSException
short
value with the specified name.getShort
in interface MapMessage
name
- the name of the short
short
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public char getChar(String name) throws JMSException
getChar
in interface MapMessage
name
- the name of the Unicode characterJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public int getInt(String name) throws JMSException
int
value with the specified name.getInt
in interface MapMessage
name
- the name of the int
int
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public long getLong(String name) throws JMSException
long
value with the specified name.getLong
in interface MapMessage
name
- the name of the long
long
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public float getFloat(String name) throws JMSException
float
value with the specified name.getFloat
in interface MapMessage
name
- the name of the float
float
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public double getDouble(String name) throws JMSException
double
value with the specified name.getDouble
in interface MapMessage
name
- the name of the double
double
value with the specified nameJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public String getString(String name) throws JMSException
String
value with the specified name.getString
in interface MapMessage
name
- the name of the String
String
value with the specified name; if there
is no item by this name, a null value is returnedJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public byte[] getBytes(String name) throws JMSException
getBytes
in interface MapMessage
name
- the name of the byte arrayJMSException
- if the JMS provider fails to read the message due to
some internal error.MessageFormatException
- if this type conversion is invalid.public Object getObject(String name) throws JMSException
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 setObject
method call, or its
equivalent primitive set type
method.
Note that byte values are returned as byte[]
, not
Byte[]
.
getObject
in interface MapMessage
name
- the name of the Java objectint
, an Integer
is returned); if
there is no item by this name, a null value is returnedJMSException
- if the JMS provider fails to read the message due to
some internal error.public Enumeration<String> getMapNames() throws JMSException
Enumeration
of all the names in the
MapMessage
object.getMapNames
in interface MapMessage
MapMessage
JMSException
protected void put(String name, Object value) throws JMSException
JMSException
public void setBoolean(String name, boolean value) throws JMSException
boolean
value with the specified name into the Map.setBoolean
in interface MapMessage
name
- the name of the boolean
value
- the boolean
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setByte(String name, byte value) throws JMSException
byte
value with the specified name into the Map.setByte
in interface MapMessage
name
- the name of the byte
value
- the byte
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setShort(String name, short value) throws JMSException
short
value with the specified name into the Map.setShort
in interface MapMessage
name
- the name of the short
value
- the short
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setChar(String name, char value) throws JMSException
setChar
in interface MapMessage
name
- the name of the Unicode charactervalue
- the Unicode character value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setInt(String name, int value) throws JMSException
int
value with the specified name into the Map.setInt
in interface MapMessage
name
- the name of the int
value
- the int
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setLong(String name, long value) throws JMSException
long
value with the specified name into the Map.setLong
in interface MapMessage
name
- the name of the long
value
- the long
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setFloat(String name, float value) throws JMSException
float
value with the specified name into the Map.setFloat
in interface MapMessage
name
- the name of the float
value
- the float
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setDouble(String name, double value) throws JMSException
double
value with the specified name into the Map.setDouble
in interface MapMessage
name
- the name of the double
value
- the double
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setString(String name, String value) throws JMSException
String
value with the specified name into the Map.setString
in interface MapMessage
name
- the name of the String
value
- the String
value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setBytes(String name, byte[] value) throws JMSException
setBytes
in interface MapMessage
name
- the name of the byte arrayvalue
- the byte array value to set in the Map; the array is copied
so that the value for name
will not be
altered by future modificationsJMSException
- if the JMS provider fails to write the message due
to some internal error.NullPointerException
- if the name is null, or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setBytes(String name, byte[] value, int offset, int length) throws JMSException
setBytes
in interface MapMessage
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 useJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageNotWriteableException
- if the message is in read-only mode.public void setObject(String name, Object value) throws JMSException
This method works only for the objectified primitive object types (Integer
,Double
,
Long
...), String
objects, and byte
arrays.
setObject
in interface MapMessage
name
- the name of the Java objectvalue
- the Java object value to set in the MapJMSException
- if the JMS provider fails to write the message due
to some internal error.IllegalArgumentException
- if the name is null or if the name is an
empty string.MessageFormatException
- if the object is invalid.MessageNotWriteableException
- if the message is in read-only mode.public boolean itemExists(String name) throws JMSException
MapMessage
object.itemExists
in interface MapMessage
name
- the name of the item to testJMSException
- if the JMS provider fails to determine if the item
exists due to some internal error.public void compress() throws IOException
compress
in class Message
IOException
public Map<String,Object> getContentMap() throws JMSException
JMSException
Copyright © 2005–2016 The Apache Software Foundation. All rights reserved.