StreamMessage object is used to send a stream of primitive
types in the Java programming language. It is filled and read sequentially.
It inherits from the Message interface
and adds a stream message body. Its methods are based largely on those
found in java.io.DataInputStream and
java.io.DataOutputStream.
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 StreamMessage.writeInt(6) is
equivalent to StreamMessage.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.
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 body 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.
StreamMessage 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 |----------------------------------------------------------------------
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.
javax.jms.Session#createStreamMessage(), javax.jms.BytesMessage, javax.jms.MapMessage, javax.jms.Message, javax.jms.ObjectMessage, javax.jms.TextMessage
| Modifier and Type | Method and Description |
|---|---|
| public boolean | |
| public byte | Returns: the next byte from the stream message as a 8-bitbyteReads a |
| 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 byte field has been reachedthe buffer into which the data is read value)Reads a byte array field from the stream message into the
specified |
| public char | Returns: a Unicode character from the stream messageReads a Unicode character value from the stream message. |
| public double | |
| public float | |
| public int | Returns: a 32-bit integer value from the stream message, interpreted as anintReads a 32-bit integer from the stream message. |
| public long | Returns: a 64-bit integer value from the stream message, interpreted as alongReads a 64-bit integer from the stream message. |
| public Object | Returns: a Java object from the stream message, in objectified format (for example, if the object was written as anint,
an Integer is returned)Reads an object from the stream message. |
| public short | Returns: a 16-bit integer from the stream messageReads a 16-bit integer from the stream message. |
| public String | Returns: a Unicode string from the stream messageReads a |
| public void | |
| public void | |
| public void | |
| public void | writeBytes(byte[]
the byte array value to be written value)Writes a byte array field to the stream message. |
| 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 as a byte array field to the stream message. |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void |
| readBoolean | back to summary |
|---|---|
| public boolean readBoolean() throws JMSException Reads a
| |
| readByte | back to summary |
|---|---|
| public byte readByte() throws JMSException Reads a
| |
| readBytes | back to summary |
|---|---|
| public int readBytes(byte[] value) throws JMSException Reads a byte array field from the stream message into the
specified To read the field value, If If the byte array field value is null, If the byte array field value is empty, Once the first To read the byte field value into a new
| |
| readChar | back to summary |
|---|---|
| public char readChar() throws JMSException Reads a Unicode character value from the stream message.
| |
| 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 32-bit integer from the stream message.
| |
| readLong | back to summary |
|---|---|
| public long readLong() throws JMSException Reads a 64-bit integer from the stream message.
| |
| readObject | back to summary |
|---|---|
| public Object readObject() throws JMSException Reads an object from the stream message. This method can be used to return, in objectified format,
an object in the Java programming language ("Java object") that has
been written to the stream with the equivalent
Note that byte values are returned as An attempt to call
| |
| readShort | back to summary |
|---|---|
| public short readShort() throws JMSException Reads a 16-bit integer from the stream message.
| |
| readString | back to summary |
|---|---|
| public String readString() throws JMSException Reads a
| |
| reset | back to summary |
|---|---|
| public void reset() throws JMSException Puts the message body in read-only mode and repositions the stream 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 field to the stream message. The byte array
| |
| writeBytes | back to summary |
|---|---|
| public void writeBytes(byte[] value, int offset, int length) throws JMSException Writes a portion of a byte array as a byte array field to the stream message. The a portion of the byte array
| |
| writeChar | back to summary |
|---|---|
| public void writeChar(char value) throws JMSException Writes a
| |
| writeDouble | back to summary |
|---|---|
| public void writeDouble(double value) throws JMSException Writes a
| |
| writeFloat | back to summary |
|---|---|
| public void writeFloat(float value) throws JMSException Writes a
| |
| 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 stream message. This method works only for the objectified primitive
object types (
| |
| writeShort | back to summary |
|---|---|
| public void writeShort(short value) throws JMSException Writes a
| |
| writeString | back to summary |
|---|---|
| public void writeString(String value) throws JMSException Writes a
| |