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_PROPERTYarrival, 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, userIDcommandId, responseRequiredDEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVEAMQ_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, visitafterMarshall, 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, toStringcopy, getCommandId, getFrom, getTo, isBrokerInfo, isConnectionControl, isConsumerControl, isMessageAck, isMessageDispatch, isMessageDispatchNotification, isResponse, isResponseRequired, isShutdownInfo, isWireFormatInfo, setCommandId, setFrom, setResponseRequired, setToclone, finalize, getClass, notify, notifyAll, wait, wait, waitacknowledge, 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, setStringPropertypublic static final byte DATA_STRUCTURE_TYPE
public ActiveMQMapMessage()
public Message copy()
copy in class ActiveMQMessagepublic void beforeMarshall(WireFormat wireFormat) throws IOException
beforeMarshall in interface MarshallAwarebeforeMarshall in class MessageIOExceptionpublic void clearMarshalledState() throws JMSException
clearMarshalledState in class MessageJMSExceptionpublic void storeContentAndClear()
storeContentAndClear in class ActiveMQMessagepublic void storeContent()
storeContent in class ActiveMQMessagepublic byte getDataStructureType()
getDataStructureType in interface DataStructuregetDataStructureType in class ActiveMQMessagepublic String getJMSXMimeType()
MessageBlobMessage
it allows you to create a selector on the MIME type of the BLOB bodygetJMSXMimeType in class ActiveMQMessagepublic 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 MessageclearBody in class ActiveMQMessageJMSExceptionpublic boolean getBoolean(String name) throws JMSException
boolean value with the specified name.getBoolean in interface MapMessagename - the name of the booleanboolean 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 MapMessagename - the name of the bytebyte 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 MapMessagename - the name of the shortshort 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 MapMessagename - 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 MapMessagename - the name of the intint 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 MapMessagename - the name of the longlong 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 MapMessagename - the name of the floatfloat 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 MapMessagename - the name of the doubledouble 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 MapMessagename - the name of the StringString 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 MapMessagename - 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 MapMessagename - 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 MapMessageMapMessageJMSExceptionprotected void put(String name, Object value) throws JMSException
JMSExceptionpublic void setBoolean(String name, boolean value) throws JMSException
boolean value with the specified name into the Map.setBoolean in interface MapMessagename - the name of the booleanvalue - 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 MapMessagename - the name of the bytevalue - 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 MapMessagename - the name of the shortvalue - 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 MapMessagename - 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 MapMessagename - the name of the intvalue - 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 MapMessagename - the name of the longvalue - 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 MapMessagename - the name of the floatvalue - 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 MapMessagename - the name of the doublevalue - 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 MapMessagename - the name of the Stringvalue - 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 MapMessagename - 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 MapMessagename - 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 MapMessagename - 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 MapMessagename - 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 MessageIOExceptionpublic Map<String,Object> getContentMap() throws JMSException
JMSExceptionCopyright © 2005–2015 FuseSource, Corp.. All rights reserved.