BytesMessage object is used to send a message containing a
stream of uninterpreted bytes. It inherits from the Message
interface and adds a bytes
message body. The receiver of the message supplies the interpretation
of the bytes.
The BytesMessage methods are based largely on those found in
java.io.DataInputStream and
java.io.DataOutputStream.
This message type is for client encoding of existing message formats. If possible, one of the other self-defining message types should be used instead.
Although the JMS API allows the use of message properties with byte messages, they are typically not used, since the inclusion of properties may affect the format.
The primitive types can be written explicitly using methods
for each type. They may also be written generically as objects.
For instance, a call to BytesMessage.writeInt(6) is
equivalent to BytesMessage.writeObject(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 the message is first created, and when clearBody
is called, the body of the message is in write-only mode. After the
first call to reset has been made, the message body is in
read-only mode.
When a BytesMessage is sent asynchronously, the provider
must call reset on the BytesMessage passed to
the CompletionListener. This means that the
CompletionListener can read the message body without
needing to call reset.
After a message has been sent, the client that sent it can retain and
modify it without affecting the message that has been sent. The same message
object can be sent multiple times.
When a message has been received, the provider has called
reset so that the message body is in read-only mode for the client.
If clearBody is called on a message in read-only mode,
the message body is cleared and the message is in write-only mode.
If a client attempts to read a message in write-only mode, a
MessageNotReadableException is thrown.
If a client attempts to write a message in read-only mode, a
MessageNotWriteableException is thrown.
javax.jms.Session#createBytesMessage(), javax.jms.MapMessage, javax.jms.Message, javax.jms.ObjectMessage, javax.jms.StreamMessage, javax.jms.TextMessage
| Modifier and Type | Method and Description |
|---|---|
| public long | Returns: number of bytes in the messageGets the number of bytes of the message body when the message is in read-only mode. |
| public boolean | |
| public byte | Returns: the next byte from the bytes message stream as a signed 8-bitbyteReads a signed 8-bit value from the bytes message stream. |
| public int | Returns: the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reachedthe buffer into which the data is read value)Reads a byte array from the bytes message stream. |
| public int | Returns: the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reachedthe buffer into which the data is read value, int the number of bytes to read; must be less than or equal to
length)value.lengthReads a portion of the bytes message stream. |
| public char | Returns: the next two bytes from the bytes message stream as a Unicode characterReads a Unicode character value from the bytes message stream. |
| public double | Returns: the next eight bytes from the bytes message stream, interpreted as adoubleReads a |
| public float | Returns: the next four bytes from the bytes message stream, interpreted as afloatReads a |
| public int | Returns: the next four bytes from the bytes message stream, interpreted as anintReads a signed 32-bit integer from the bytes message stream. |
| public long | Returns: the next eight bytes from the bytes message stream, interpreted as alongReads a signed 64-bit integer from the bytes message stream. |
| public short | Returns: the next two bytes from the bytes message stream, interpreted as a signed 16-bit numberReads a signed 16-bit number from the bytes message stream. |
| public int | Returns: the next byte from the bytes message stream, interpreted as an unsigned 8-bit numberReads an unsigned 8-bit number from the bytes message stream. |
| public int | Returns: the next two bytes from the bytes message stream, interpreted as an unsigned 16-bit integerReads an unsigned 16-bit number from the bytes message stream. |
| public String | Returns: a Unicode string from the bytes message streamReads a string that has been encoded using a modified UTF-8 format from the bytes message stream. |
| public void | reset()
Puts the message body in read-only mode and repositions the stream of bytes to the beginning. |
| public void | writeBoolean(boolean
the value)boolean value to be writtenWrites a |
| public void | writeByte(byte
the value)byte value to be writtenWrites a |
| public void | writeBytes(byte[]
the byte array to be written value)Writes a byte array to the bytes message stream. |
| public void | writeBytes(byte[]
the byte array value to be written value, int the initial offset within the byte array offset, int the number of bytes to use length)Writes a portion of a byte array to the bytes message stream. |
| public void | writeChar(char
the value)char value to be writtenWrites a |
| public void | writeDouble(double
the value)double value to be writtenConverts the |
| public void | writeFloat(float
the value)float value to be writtenConverts the |
| public void | writeInt(int
the value)int to be writtenWrites an |
| public void | writeLong(long
the value)long to be writtenWrites a |
| public void | writeObject(Object
the object in the Java programming language ("Java
object") to be written; it must not be null value)Writes an object to the bytes message stream. |
| public void | writeShort(short
the value)short to be writtenWrites a |
| public void |
| getBodyLength | back to summary |
|---|---|
| public long getBodyLength() throws JMSException Gets the number of bytes of the message body when the message is in read-only mode. The value returned can be used to allocate a byte array. The value returned is the entire length of the message body, regardless of where the pointer for reading the message is currently located.
| |
| readBoolean | back to summary |
|---|---|
| public boolean readBoolean() throws JMSException Reads a
| |
| readByte | back to summary |
|---|---|
| public byte readByte() throws JMSException Reads a signed 8-bit value from the bytes message stream.
| |
| readBytes | back to summary |
|---|---|
| public int readBytes(byte[] value) throws JMSException Reads a byte array from the bytes message stream. If the length of array If the number of bytes remaining in the stream is less than the
length of
array
| |
| readBytes | back to summary |
|---|---|
| public int readBytes(byte[] value, int length) throws JMSException Reads a portion of the bytes message stream. If the length of array If the number of bytes remaining in the stream is less than the
length of
array If
| |
| readChar | back to summary |
|---|---|
| public char readChar() throws JMSException Reads a Unicode character value from the bytes message stream.
| |
| readDouble | back to summary |
|---|---|
| public double readDouble() throws JMSException Reads a
| |
| readFloat | back to summary |
|---|---|
| public float readFloat() throws JMSException Reads a
| |
| readInt | back to summary |
|---|---|
| public int readInt() throws JMSException Reads a signed 32-bit integer from the bytes message stream.
| |
| readLong | back to summary |
|---|---|
| public long readLong() throws JMSException Reads a signed 64-bit integer from the bytes message stream.
| |
| readShort | back to summary |
|---|---|
| public short readShort() throws JMSException Reads a signed 16-bit number from the bytes message stream.
| |
| readUnsignedByte | back to summary |
|---|---|
| public int readUnsignedByte() throws JMSException Reads an unsigned 8-bit number from the bytes message stream.
| |
| readUnsignedShort | back to summary |
|---|---|
| public int readUnsignedShort() throws JMSException Reads an unsigned 16-bit number from the bytes message stream.
| |
| readUTF | back to summary |
|---|---|
| public String readUTF() throws JMSException Reads a string that has been encoded using a modified UTF-8 format from the bytes message stream. For more information on the UTF-8 format, see "File System Safe UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, X/Open Company Ltd., Document Number: P316. This information also appears in ISO/IEC 10646, Annex P.
| |
| reset | back to summary |
|---|---|
| public void reset() throws JMSException Puts the message body in read-only mode and repositions the stream of bytes to the beginning.
| |
| writeBoolean | back to summary |
|---|---|
| public void writeBoolean(boolean value) throws JMSException Writes a
| |
| writeByte | back to summary |
|---|---|
| public void writeByte(byte value) throws JMSException Writes a
| |
| writeBytes | back to summary |
|---|---|
| public void writeBytes(byte[] value) throws JMSException Writes a byte array to the bytes message stream.
| |
| writeBytes | back to summary |
|---|---|
| public void writeBytes(byte[] value, int offset, int length) throws JMSException Writes a portion of a byte array to the bytes message stream.
| |
| writeChar | back to summary |
|---|---|
| public void writeChar(char value) throws JMSException Writes a
| |
| writeDouble | back to summary |
|---|---|
| public void writeDouble(double value) throws JMSException Converts the
| |
| writeFloat | back to summary |
|---|---|
| public void writeFloat(float value) throws JMSException Converts the
| |
| writeInt | back to summary |
|---|---|
| public void writeInt(int value) throws JMSException Writes an
| |
| writeLong | back to summary |
|---|---|
| public void writeLong(long value) throws JMSException Writes a
| |
| writeObject | back to summary |
|---|---|
| public void writeObject(Object value) throws JMSException Writes an object to the bytes message stream. This method works only for the objectified primitive
object types (
| |
| writeShort | back to summary |
|---|---|
| public void writeShort(short value) throws JMSException Writes a
| |
| writeUTF | back to summary |
|---|---|
| public void writeUTF(String value) throws JMSException Writes a string to the bytes message stream using UTF-8 encoding in a machine-independent manner. For more information on the UTF-8 format, see "File System Safe UCS Transformation Format (FSS_UTF)", X/Open Preliminary Specification, X/Open Company Ltd., Document Number: P316. This information also appears in ISO/IEC 10646, Annex P.
| |