- java.lang.Object
-
- com.rabbitmq.jms.client.RMQMessage
-
- com.rabbitmq.jms.client.message.RMQMapMessage
-
- All Implemented Interfaces:
jakarta.jms.MapMessage,jakarta.jms.Message,java.lang.Cloneable
public class RMQMapMessage extends RMQMessage implements jakarta.jms.MapMessage
Implementation ofMapMessageinterface.
-
-
Field Summary
-
Fields inherited from class com.rabbitmq.jms.client.RMQMessage
DEFAULT_MESSAGE_BODY_SIZE, logger, MSG_EOF, NOT_READABLE, NOT_WRITEABLE, UNABLE_TO_CAST
-
-
Constructor Summary
Constructors Constructor Description RMQMapMessage()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearBodyInternal()protected <T> TdoGetBody(java.lang.Class<T> c)booleangetBoolean(java.lang.String name)bytegetByte(java.lang.String name)byte[]getBytes(java.lang.String name)chargetChar(java.lang.String name)doublegetDouble(java.lang.String name)floatgetFloat(java.lang.String name)intgetInt(java.lang.String name)longgetLong(java.lang.String name)java.util.Enumeration<java.lang.String>getMapNames()java.lang.ObjectgetObject(java.lang.String name)shortgetShort(java.lang.String name)java.lang.StringgetString(java.lang.String name)booleanisAmqpWritable()booleanisBodyAssignableTo(java.lang.Class c)booleanitemExists(java.lang.String name)protected voidreadAmqpBody(byte[] barr)Invoked when an AMQP message is being transformed into a RMQMessage The implementing class should only read its body by this methodprotected voidreadBody(java.io.ObjectInput inputStream, java.io.ByteArrayInputStream bin)Invoked when a message is being deserialized to read and decode the message body.static RMQMessagerecreate(jakarta.jms.MapMessage msg)voidsetBoolean(java.lang.String name, boolean value)voidsetByte(java.lang.String name, byte value)voidsetBytes(java.lang.String name, byte[] value)voidsetBytes(java.lang.String name, byte[] value, int offset, int length)voidsetChar(java.lang.String name, char value)voidsetDouble(java.lang.String name, double value)voidsetFloat(java.lang.String name, float value)voidsetInt(java.lang.String name, int value)voidsetLong(java.lang.String name, long value)voidsetObject(java.lang.String name, java.lang.Object value)voidsetShort(java.lang.String name, short value)voidsetString(java.lang.String name, java.lang.String value)protected voidwriteAmqpBody(java.io.ByteArrayOutputStream out)Invoked whenRMQMessage.toAmqpByteArray()is called to create a byte[] from a message.protected voidwriteBody(java.io.ObjectOutput out, java.io.ByteArrayOutputStream bout)Invoked whenRMQMessage.toByteArray()is called to create a byte[] from a message.-
Methods inherited from class com.rabbitmq.jms.client.RMQMessage
acknowledge, clearBody, clearProperties, clone, copyAttributes, doNotDeclareReplyToDestination, equals, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getInternalID, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getRabbitDeliveryTag, getSession, getShortProperty, getStringProperty, hashCode, isReadonlyBody, isReadOnlyProperties, loggerDebugByteArray, propertyExists, readPrimitive, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setRabbitDeliveryTag, setReadonly, setReadOnlyBody, setReadOnlyProperties, setSession, setShortProperty, setStringProperty, writePrimitive, writePrimitive
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods 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, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
-
-
-
-
Method Detail
-
getBoolean
public boolean getBoolean(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getBooleanin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getByte
public byte getByte(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getBytein interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getShort
public short getShort(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getShortin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getChar
public char getChar(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getCharin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getInt
public int getInt(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getIntin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getLong
public long getLong(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getLongin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getFloat
public float getFloat(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getFloatin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getDouble
public double getDouble(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getDoublein interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getString
public java.lang.String getString(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getStringin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getBytes
public byte[] getBytes(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getBytesin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getObject
public java.lang.Object getObject(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
getObjectin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
getMapNames
public java.util.Enumeration<java.lang.String> getMapNames() throws jakarta.jms.JMSException- Specified by:
getMapNamesin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setBoolean
public void setBoolean(java.lang.String name, boolean value) throws jakarta.jms.JMSException- Specified by:
setBooleanin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setByte
public void setByte(java.lang.String name, byte value) throws jakarta.jms.JMSException- Specified by:
setBytein interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setShort
public void setShort(java.lang.String name, short value) throws jakarta.jms.JMSException- Specified by:
setShortin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setChar
public void setChar(java.lang.String name, char value) throws jakarta.jms.JMSException- Specified by:
setCharin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setInt
public void setInt(java.lang.String name, int value) throws jakarta.jms.JMSException- Specified by:
setIntin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setLong
public void setLong(java.lang.String name, long value) throws jakarta.jms.JMSException- Specified by:
setLongin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setFloat
public void setFloat(java.lang.String name, float value) throws jakarta.jms.JMSException- Specified by:
setFloatin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setDouble
public void setDouble(java.lang.String name, double value) throws jakarta.jms.JMSException- Specified by:
setDoublein interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setString
public void setString(java.lang.String name, java.lang.String value) throws jakarta.jms.JMSException- Specified by:
setStringin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setBytes
public void setBytes(java.lang.String name, byte[] value) throws jakarta.jms.JMSException- Specified by:
setBytesin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setBytes
public void setBytes(java.lang.String name, byte[] value, int offset, int length) throws jakarta.jms.JMSException- Specified by:
setBytesin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
setObject
public void setObject(java.lang.String name, java.lang.Object value) throws jakarta.jms.JMSException- Specified by:
setObjectin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
itemExists
public boolean itemExists(java.lang.String name) throws jakarta.jms.JMSException- Specified by:
itemExistsin interfacejakarta.jms.MapMessage- Throws:
jakarta.jms.JMSException
-
clearBodyInternal
public void clearBodyInternal() throws jakarta.jms.JMSException- Specified by:
clearBodyInternalin classRMQMessage- Throws:
jakarta.jms.JMSException
-
writeBody
protected void writeBody(java.io.ObjectOutput out, java.io.ByteArrayOutputStream bout) throws java.io.IOExceptionDescription copied from class:RMQMessageInvoked whenRMQMessage.toByteArray()is called to create a byte[] from a message. Each subclass must implement this, but ONLY write its specific body. All the properties defined inMessagewill be written by the parent class.- Specified by:
writeBodyin classRMQMessage- Parameters:
out- - the output stream to which the structured part of message body (scalar types) is writtenbout- - the output stream to which the un-structured part of message body (explicit bytes) is written- Throws:
java.io.IOException- if the body can not be written
-
readBody
protected void readBody(java.io.ObjectInput inputStream, java.io.ByteArrayInputStream bin) throws java.io.IOException, java.lang.ClassNotFoundExceptionDescription copied from class:RMQMessageInvoked when a message is being deserialized to read and decode the message body. The implementing class should only read its body from this stream. If any exception is thrown, the message will not have been delivered.- Specified by:
readBodyin classRMQMessage- Parameters:
inputStream- - the stream to read its body frombin- - the underlying byte input stream- Throws:
java.io.IOException- if a read error occurs on the input streamjava.lang.ClassNotFoundException- if the object class cannot be found
-
readAmqpBody
protected void readAmqpBody(byte[] barr)
Description copied from class:RMQMessageInvoked when an AMQP message is being transformed into a RMQMessage The implementing class should only read its body by this method- Specified by:
readAmqpBodyin classRMQMessage- Parameters:
barr- - the byte array payload of the AMQP message
-
writeAmqpBody
protected void writeAmqpBody(java.io.ByteArrayOutputStream out) throws java.io.IOExceptionDescription copied from class:RMQMessageInvoked whenRMQMessage.toAmqpByteArray()is called to create a byte[] from a message. Each subclass must implement this, but ONLY write its specific body.- Specified by:
writeAmqpBodyin classRMQMessage- Parameters:
out- - the output stream to which the message body is written- Throws:
java.io.IOException- if the body can not be written
-
recreate
public static RMQMessage recreate(jakarta.jms.MapMessage msg) throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
isBodyAssignableTo
public boolean isBodyAssignableTo(java.lang.Class c)
- Specified by:
isBodyAssignableToin interfacejakarta.jms.Message
-
doGetBody
protected <T> T doGetBody(java.lang.Class<T> c)
- Specified by:
doGetBodyin classRMQMessage
-
isAmqpWritable
public boolean isAmqpWritable()
- Specified by:
isAmqpWritablein classRMQMessage
-
-