インターフェース StreamMessage
- すべてのスーパーインターフェース:
- Message
 - public interface StreamMessage extends Message - StreamMessageオブジェクトは、Java プログラミング言語でプリミティブ型のストリームを送信するために使用されます。記入され、順番に読み取られます。- Messageインターフェースから継承し、ストリームメッセージ本文を追加します。その方法は、主に- java.io.DataInputStreamおよび- java.io.DataOutputStreamに見られる方法に基づいています。- プリミティブ型は、各型のメソッドを使用して明示的に読み書きできます。また、オブジェクトとして一般的に読み書きすることもできます。たとえば、 - StreamMessage.writeInt(6)の呼び出しは- StreamMessage.writeObject(new Integer(6))と同等です。明示的なフォームは静的プログラミングに便利であり、コンパイル時に型が不明な場合はオブジェクトフォームが必要であるため、両方のフォームが提供されます。- メッセージが最初に作成されたとき、および - clearBodyが呼び出されたとき、メッセージの本文は書き込み専用モードになっています。- resetへの最初の呼び出しが行われた後、メッセージ本文は読み取り専用モードになります。メッセージが送信された後、メッセージを送信したクライアントは、送信されたメッセージに影響を与えることなく、メッセージを保持および変更できます。同じメッセージオブジェクトを複数回送信できます。メッセージが受信されると、プロバイダーは- resetを呼び出して、メッセージ本文がクライアントに対して読み取り専用モードになるようにしました。- clearBodyが読み取り専用モードのメッセージで呼び出された場合、メッセージ本文はクリアされ、メッセージ本文は書き込み専用モードになります。- クライアントが書き込み専用モードでメッセージを読み取ろうとすると、 - MessageNotReadableExceptionがスローされます。- クライアントが読み取り専用モードでメッセージを書き込もうとすると、 - MessageNotWriteableExceptionがスローされます。- StreamMessageオブジェクトは、次の変換テーブルをサポートしています。マークされたケースはサポートされている必要があります。マークされていないケースは- JMSExceptionをスローする必要があります。プリミティブの- valueOf()メソッドがプリミティブの有効な- String表現として受け入れない場合、- String-to-primitive 変換はランタイム例外をスローする可能性があります。- 行型として書き込まれた値は、列型として読み取ることができます。 - | | 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 |---------------------------------------------------------------------- - null 値をプリミティブ型として読み取ろうとすると、null 値を指定して、プリミティブの対応する - valueOf(String)変換メソッドを呼び出すことになります。- charは- String変換をサポートしていないため、- charとして null 値を読み取ろうとすると、- NullPointerExceptionがスローされます。- 導入:
- JMS 1.0
- バージョン:
- Jakarta Messaging 2.0
- 関連事項:
- Session.createStreamMessage(),- BytesMessage,- MapMessage,- Message,- ObjectMessage,- TextMessage
 
- フィールドのサマリー- インターフェース jakarta.jms.Message から継承されたフィールド- DEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
 
 - メソッドのサマリー- すべてのメソッド インスタンスメソッド 抽象メソッド - 修飾子と型 - メソッド - 説明 - boolean- readBoolean()ストリームメッセージから- booleanを読み取ります。- byte- readByte()ストリームメッセージから- byte値を読み取ります。- int- readBytes(byte[] value)ストリームメッセージから指定された- byte[]オブジェクト(読み取りバッファー)にバイト配列フィールドを読み取ります。- char- readChar()ストリームメッセージから Unicode 文字値を読み取ります。- double- readDouble()ストリームメッセージから- doubleを読み取ります。- float- readFloat()ストリームメッセージから- floatを読み取ります。- int- readInt()ストリームメッセージから 32 ビット整数を読み取ります。- long- readLong()ストリームメッセージから 64 ビット整数を読み取ります。- ObjectSE- readObject()ストリームメッセージからオブジェクトを読み取ります。- short- readShort()ストリームメッセージから 16 ビット整数を読み取ります。- StringSE- readString()ストリームメッセージから- Stringを読み取ります。- void- reset()メッセージ本文を読み取り専用モードにし、ストリームを先頭に再配置します。- void- writeBoolean(boolean value)- booleanをストリームメッセージに書き込みます。- void- writeByte(byte value)- byteをストリームメッセージに書き込みます。- void- writeBytes(byte[] value)バイト配列フィールドをストリームメッセージに書き込みます。- void- writeBytes(byte[] value, int offset, int length)バイト配列の一部をバイト配列フィールドとしてストリームメッセージに書き込みます。- void- writeChar(char value)- charをストリームメッセージに書き込みます。- void- writeDouble(double value)- doubleをストリームメッセージに書き込みます。- void- writeFloat(float value)- floatをストリームメッセージに書き込みます。- void- writeInt(int value)- intをストリームメッセージに書き込みます。- void- writeLong(long value)- longをストリームメッセージに書き込みます。- void- writeObject(ObjectSE value)ストリームメッセージにオブジェクトを書き込みます。- void- writeShort(short value)- shortをストリームメッセージに書き込みます。- void- writeString(StringSE value)- Stringをストリームメッセージに書き込みます。- インターフェース 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, isBodyAssignableTo, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
 
 
- メソッドの詳細- readBoolean- boolean readBoolean() throws JMSExceptionストリームメッセージから- booleanを読み取ります。- 戻り値:
-  読み込まれた boolean値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readByte- byte readByte() throws JMSExceptionストリームメッセージから- byte値を読み取ります。- 戻り値:
- 8 ビット byteとしてのストリームメッセージの次のバイト
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readShort- short readShort() throws JMSExceptionストリームメッセージから 16 ビット整数を読み取ります。- 戻り値:
- ストリームメッセージからの 16 ビット整数
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readChar- char readChar() throws JMSExceptionストリームメッセージから Unicode 文字値を読み取ります。- 戻り値:
- ストリームメッセージの Unicode 文字
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readInt- int readInt() throws JMSExceptionストリームメッセージから 32 ビット整数を読み取ります。- 戻り値:
- intとして解釈されるストリームメッセージからの 32 ビット整数値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readLong- long readLong() throws JMSExceptionストリームメッセージから 64 ビット整数を読み取ります。- 戻り値:
- longとして解釈されるストリームメッセージからの 64 ビット整数値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readFloat- float readFloat() throws JMSExceptionストリームメッセージから- floatを読み取ります。- 戻り値:
-  ストリームメッセージからの float値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readDouble- double readDouble() throws JMSExceptionストリームメッセージから- doubleを読み取ります。- 戻り値:
-  ストリームメッセージからの double値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readString- StringSE readString() throws JMSException ストリームメッセージから- Stringを読み取ります。- 戻り値:
- ストリームメッセージからの Unicode 文字列
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
 
 - readBytes- int readBytes(byte[] value) throws JMSExceptionストリームメッセージから指定された- byte[]オブジェクト(読み取りバッファー)にバイト配列フィールドを読み取ります。- フィールド値を読み取るには、読み取りバッファーの長さよりも短い値が返されるまで、 - readBytesを連続して呼び出す必要があります。最後に読み取られたバイトに続くバッファ内のバイトの値は未定義です。- readBytesがバッファーの長さに等しい値を返す場合、後続の- readBytes呼び出しを行う必要があります。読み取るバイトがこれ以上ない場合、この呼び出しは -1 を返します。- バイト配列フィールドの値が null の場合、 - readBytesは -1 を返します。- バイト配列フィールドの値が空の場合、 - readBytesは 0 を返します。- byte[]フィールド値に対する最初の- readBytes呼び出しが行われると、次のフィールドを読み取ることが有効になる前に、フィールドの完全な値を読み取る必要があります。それが行われる前に次のフィールドを読み取ろうとすると、- MessageFormatExceptionがスローされます。- バイトフィールド値を新しい - byte[]オブジェクトに読み込むには、- readObjectメソッドを使用します。- パラメーター:
- value- データが読み込まれるバッファ
- 戻り値:
- バッファに読み込まれた合計バイト数。バイトフィールドの終わりに達したためにデータがなくなった場合は -1
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
- 関連事項:
- readObject()
 
 - readObject- ObjectSE readObject() throws JMSException ストリームメッセージからオブジェクトを読み取ります。- このメソッドを使用して、同等の - writeObjectメソッド呼び出しまたは同等のプリミティブ- writetypeメソッドでストリームに書き込まれた Java プログラミング言語のオブジェクト(「Java オブジェクト」)をオブジェクト化された形式で返すことができます。- バイト値は - Byte[]ではなく- byte[]として返されることに注意してください。- バイトフィールドの完全な値が読み取られる前に、 - readObjectを呼び出してバイトフィールド値を新しい- byte[]オブジェクトに読み取ろうとすると、- MessageFormatExceptionがスローされます。- 戻り値:
-  オブジェクト化された形式のストリームメッセージからの Java オブジェクト (たとえば、オブジェクトが intとして書き込まれた場合、Integerが返されます。)
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。
- MessageEOFException- メッセージストリームの予期しない終了に達した場合。
- MessageFormatException- この型変換が無効な場合。
- MessageNotReadableException- メッセージが書き込み専用モードの場合。
- 関連事項:
- readBytes(byte[] value)
 
 - writeBoolean- void writeBoolean(boolean value) throws JMSException- booleanをストリームメッセージに書き込みます。値- trueは、値- (byte)1として書き込まれます。値- falseは、値- (byte)0として書き込まれます。- パラメーター:
- value- 書き込まれる- boolean値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeByte- void writeByte(byte value) throws JMSException- byteをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- byte値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeShort- void writeShort(short value) throws JMSException- shortをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- short値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeChar- void writeChar(char value) throws JMSException- charをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- char値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeInt- void writeInt(int value) throws JMSException- intをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- int値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeLong- void writeLong(long value) throws JMSException- longをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- long値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeFloat- void writeFloat(float value) throws JMSException- floatをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- float値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeDouble- void writeDouble(double value) throws JMSException- doubleをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- double値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeString- void writeString(StringSE value) throws JMSException - Stringをストリームメッセージに書き込みます。- パラメーター:
- value- 書き込まれる- String値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeBytes- void writeBytes(byte[] value) throws JMSExceptionバイト配列フィールドをストリームメッセージに書き込みます。- バイト配列 - valueは、バイト配列フィールドとしてメッセージに書き込まれます。連続して書き込まれたバイト配列フィールドは、フィールドが読み取られるときに 2 つの別個のフィールドとして扱われます。- パラメーター:
- value- 書き込まれるバイト配列値
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeBytes- void writeBytes(byte[] value, int offset, int length) throws JMSExceptionバイト配列の一部をバイト配列フィールドとしてストリームメッセージに書き込みます。- バイト配列 - valueの一部は、バイト配列フィールドとしてメッセージに書き込まれます。連続して書き込まれたバイト配列フィールドは、フィールドが読み取られるときに 2 つの別個のフィールドとして扱われます。- パラメーター:
- value- 書き込まれるバイト配列値
- offset- バイト配列内の初期オフセット
- length- 使用するバイト数
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - writeObject- void writeObject(ObjectSE value) throws JMSException ストリームメッセージにオブジェクトを書き込みます。- このメソッドは、オブジェクト化されたプリミティブオブジェクト型( - Integer、- Double、- Long...)、- Stringオブジェクト、バイト配列に対してのみ機能します。- パラメーター:
- value- 書き込まれる Java オブジェクト
- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。
- MessageFormatException- オブジェクトが無効な場合。
- MessageNotWriteableException- メッセージが読み取り専用モードの場合。
 
 - reset- void reset() throws JMSExceptionメッセージ本文を読み取り専用モードにし、ストリームを先頭に再配置します。- 例外:
- JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージのリセットに失敗した場合。
- MessageFormatException- メッセージの形式が無効な場合。