- java.lang.Object
-
- com.rabbitmq.jms.client.RMQMessage
-
- com.rabbitmq.jms.client.message.RMQStreamMessage
-
- All Implemented Interfaces:
jakarta.jms.Message,jakarta.jms.StreamMessage,java.lang.Cloneable
public class RMQStreamMessage extends RMQMessage implements jakarta.jms.StreamMessage
ImplementsStreamMessageinterface.
-
-
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 RMQStreamMessage()RMQStreamMessage(java.util.List<java.lang.String> trustedPackages)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearBodyInternal()protected <T> TdoGetBody(java.lang.Class<T> c)<T> TgetBody(java.lang.Class<T> c)booleanisAmqpWritable()booleanisBodyAssignableTo(java.lang.Class c)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.booleanreadBoolean()bytereadByte()intreadBytes(byte[] value)charreadChar()doublereadDouble()floatreadFloat()intreadInt()longreadLong()java.lang.ObjectreadObject()reads an object from the stream that was used to serialize this messageshortreadShort()java.lang.StringreadString()static RMQMessagerecreate(jakarta.jms.StreamMessage msg)voidreset()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.voidwriteBoolean(boolean value)voidwriteByte(byte value)voidwriteBytes(byte[] value)voidwriteBytes(byte[] value, int offset, int length)voidwriteChar(char value)voidwriteDouble(double value)voidwriteFloat(float value)voidwriteInt(int value)voidwriteLong(long value)voidwriteObject(java.lang.Object value)voidwriteShort(short value)voidwriteString(java.lang.String value)-
Methods inherited from class com.rabbitmq.jms.client.RMQMessage
acknowledge, clearBody, clearProperties, clone, copyAttributes, doNotDeclareReplyToDestination, equals, 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, 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
-
readBoolean
public boolean readBoolean() throws jakarta.jms.JMSException- Specified by:
readBooleanin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readByte
public byte readByte() throws jakarta.jms.JMSException- Specified by:
readBytein interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readShort
public short readShort() throws jakarta.jms.JMSException- Specified by:
readShortin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readChar
public char readChar() throws jakarta.jms.JMSException- Specified by:
readCharin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readInt
public int readInt() throws jakarta.jms.JMSException- Specified by:
readIntin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readLong
public long readLong() throws jakarta.jms.JMSException- Specified by:
readLongin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readFloat
public float readFloat() throws jakarta.jms.JMSException- Specified by:
readFloatin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readDouble
public double readDouble() throws jakarta.jms.JMSException- Specified by:
readDoublein interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readString
public java.lang.String readString() throws jakarta.jms.JMSException- Specified by:
readStringin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readBytes
public int readBytes(byte[] value) throws jakarta.jms.JMSException- Specified by:
readBytesin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
readObject
public java.lang.Object readObject() throws jakarta.jms.JMSExceptionreads an object from the stream that was used to serialize this message- Specified by:
readObjectin interfacejakarta.jms.StreamMessage- Returns:
- the object read
- Throws:
jakarta.jms.JMSException- if a deserialization exception happens
-
writeBoolean
public void writeBoolean(boolean value) throws jakarta.jms.JMSException- Specified by:
writeBooleanin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeByte
public void writeByte(byte value) throws jakarta.jms.JMSException- Specified by:
writeBytein interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeShort
public void writeShort(short value) throws jakarta.jms.JMSException- Specified by:
writeShortin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeChar
public void writeChar(char value) throws jakarta.jms.JMSException- Specified by:
writeCharin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeInt
public void writeInt(int value) throws jakarta.jms.JMSException- Specified by:
writeIntin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeLong
public void writeLong(long value) throws jakarta.jms.JMSException- Specified by:
writeLongin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeFloat
public void writeFloat(float value) throws jakarta.jms.JMSException- Specified by:
writeFloatin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeDouble
public void writeDouble(double value) throws jakarta.jms.JMSException- Specified by:
writeDoublein interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeString
public void writeString(java.lang.String value) throws jakarta.jms.JMSException- Specified by:
writeStringin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeBytes
public void writeBytes(byte[] value) throws jakarta.jms.JMSException- Specified by:
writeBytesin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeBytes
public void writeBytes(byte[] value, int offset, int length) throws jakarta.jms.JMSException- Specified by:
writeBytesin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
writeObject
public void writeObject(java.lang.Object value) throws jakarta.jms.JMSException- Specified by:
writeObjectin interfacejakarta.jms.StreamMessage- Throws:
jakarta.jms.JMSException
-
reset
public void reset() throws jakarta.jms.JMSException- Specified by:
resetin interfacejakarta.jms.StreamMessage- 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.IOExceptionInvoked 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.ClassNotFoundExceptionInvoked 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 final RMQMessage recreate(jakarta.jms.StreamMessage msg) throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
getBody
public <T> T getBody(java.lang.Class<T> c) throws jakarta.jms.JMSException- Specified by:
getBodyin interfacejakarta.jms.Message- Overrides:
getBodyin classRMQMessage- Throws:
jakarta.jms.JMSException
-
doGetBody
protected <T> T doGetBody(java.lang.Class<T> c)
- Specified by:
doGetBodyin classRMQMessage
-
isBodyAssignableTo
public boolean isBodyAssignableTo(java.lang.Class c)
- Specified by:
isBodyAssignableToin interfacejakarta.jms.Message
-
isAmqpWritable
public boolean isAmqpWritable()
- Specified by:
isAmqpWritablein classRMQMessage
-
-