public interface BytesMessage extends Message
BytesMessage
オブジェクトは、未解釈のバイトのストリームを含むメッセージを送信するために使用されます。Message
インターフェースから継承し、バイトメッセージ本文を追加します。メッセージの受信側は、バイトの解釈を提供します。BytesMessage
メソッドは、主に java.io.DataInputStream
および java.io.DataOutputStream
にあるメソッドに基づいています。
このメッセージ型は、既存のメッセージフォーマットのクライアントエンコーディング用です。可能であれば、代わりに他の自己定義メッセージ型の 1 つを使用する必要があります。
Jakarta Messaging API ではバイトメッセージでメッセージプロパティを使用できますが、プロパティを含めると形式に影響する可能性があるため、通常は使用されません。
プリミティブ型は、各型のメソッドを使用して明示的に書くことができます。それらは一般的にオブジェクトとして書かれることもあります。たとえば、BytesMessage.writeInt(6)
の呼び出しは BytesMessage.writeObject(new Integer(6))
と同等です。明示的なフォームは静的プログラミングに便利であり、コンパイル時に型が不明な場合はオブジェクトフォームが必要であるため、両方のフォームが提供されます。
メッセージが最初に作成されたとき、および clearBody
が呼び出されたとき、メッセージの本文は書き込み専用モードです。reset
への最初の呼び出しが行われた後、メッセージ本文は読み取り専用モードになります。BytesMessage
が非同期で送信される場合、プロバイダーは CompletionListener
に渡された BytesMessage
で reset
を呼び出す必要があります。これは、CompletionListener
が reset
を呼び出す必要なくメッセージ本文を読み取ることができることを意味します。メッセージが送信された後、メッセージを送信したクライアントは、送信されたメッセージに影響を与えることなく、メッセージを保持および変更できます。同じメッセージオブジェクトを複数回送信できます。メッセージが受信されると、プロバイダーは reset
を呼び出して、メッセージ本文がクライアントに対して読み取り専用モードになるようにしました。
読み取り専用モードのメッセージで clearBody
が呼び出されると、メッセージ本文はクリアされ、メッセージは書き込み専用モードになります。
クライアントが書き込み専用モードでメッセージを読み取ろうとすると、MessageNotReadableException
がスローされます。
クライアントが読み取り専用モードでメッセージを書き込もうとすると、MessageNotWriteableException
がスローされます。
Session.createBytesMessage()
, MapMessage
, Message
, ObjectMessage
, StreamMessage
, TextMessage
DEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
修飾子と型 | メソッドと説明 |
---|---|
long | getBodyLength() メッセージが読み取り専用モードの場合のメッセージ本文のバイト数を取得します。 |
boolean | readBoolean() バイトメッセージストリームから boolean を読み取ります。 |
byte | readByte() バイトメッセージストリームから符号付き 8 ビット値を読み取ります。 |
int | readBytes(byte[] value) バイトメッセージストリームからバイト配列を読み取ります。 |
int | readBytes(byte[] value, int length) バイトメッセージストリームの一部を読み取ります。 |
char | readChar() バイトメッセージストリームから Unicode 文字値を読み取ります。 |
double | readDouble() バイトメッセージストリームから double を読み取ります。 |
float | readFloat() バイトメッセージストリームから float を読み取ります。 |
int | readInt() バイトメッセージストリームから符号付き 32 ビット整数を読み取ります。 |
long | readLong() バイトメッセージストリームから符号付き 64 ビット整数を読み取ります。 |
short | readShort() バイトメッセージストリームから符号付き 16 ビット数値を読み取ります。 |
int | readUnsignedByte() バイトメッセージストリームから符号なし 8 ビット数値を読み取ります。 |
int | readUnsignedShort() バイトメッセージストリームから符号なし 16 ビット数を読み取ります。 |
StringSE | readUTF() バイトメッセージストリームから、変更された UTF-8 形式を使用してエンコードされた文字列を読み取ります。 |
void | reset() メッセージ本文を読み取り専用モードにして、バイトストリームを先頭に再配置します。 |
void | writeBoolean(boolean value) boolean を 1 バイトの値としてバイトメッセージストリームに書き込みます。 |
void | writeByte(byte value) byte を 1 バイトの値としてバイトメッセージストリームに書き込みます。 |
void | writeBytes(byte[] value) バイト配列をバイトメッセージストリームに書き込みます。 |
void | writeBytes(byte[] value, int offset, int length) バイト配列の一部をバイトメッセージストリームに書き込みます。 |
void | writeChar(char value) char を 2 バイト値としてバイトメッセージストリームに書き込みます。 |
void | writeDouble(double value) Double クラスの doubleToLongBits メソッドを使用して、double 引数を long に変換し、その long 値を 8 バイトの量として、上位バイトから先にバイトメッセージストリームに書き込みます。 |
void | writeFloat(float value) Float クラスの floatToIntBits メソッドを使用して float 引数を int に変換し、その int 値を 4 バイトの量として、上位バイトから先にバイトメッセージストリームに書き込みます。 |
void | writeInt(int value) int を 4 バイトとしてバイトメッセージストリームに書き込みます。 |
void | writeLong(long value) long を 8 バイトとして、上位バイトを先にバイトメッセージストリームに書き込みます。 |
void | writeObject(ObjectSE value) オブジェクトをバイトメッセージストリームに書き込みます。 |
void | writeShort(short value) short を 2 バイトとしてバイトメッセージストリームに書き込みます。 |
void | writeUTF(StringSE value) マシンに依存しない方法で UTF-8 エンコーディングを使用して、バイトメッセージストリームに文字列を書き込みます。 |
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
long getBodyLength() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。boolean readBoolean() throws JMSException
boolean
を読み取ります。boolean
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。byte readByte() throws JMSException
byte
としてのバイトメッセージストリームからの次のバイト JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。int readUnsignedByte() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。short readShort() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。int readUnsignedShort() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。char readChar() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。int readInt() throws JMSException
int
として解釈されます JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。long readLong() throws JMSException
long
として解釈されます JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。float readFloat() throws JMSException
float
を読み取ります。float
として解釈されます JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。double readDouble() throws JMSException
double
を読み取ります。double
として解釈されます JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。StringSE readUTF() throws JMSException
UTF-8 形式の詳細については、「ファイルシステムの安全な UCS 変換形式(FSS_UTF)」、X/Open 暫定仕様、X/Open Company Ltd.、ドキュメント番号: P316 を参照してください。この情報は、ISO/IEC 10646、Annex P にも記載されています。
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException
- 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。int readBytes(byte[] value) throws JMSException
配列 value
の長さがストリームから読み取られる残りのバイト数より短い場合は、配列を埋める必要があります。以降の呼び出しでは、次の増分が読み取られます。
ストリームに残っているバイト数が配列 value
の長さより短い場合、バイトを配列に読み込む必要があります。読み取られた合計バイト数の戻り値は配列の長さよりも小さく、ストリームから読み取るバイトが残っていないことを示します。ストリームの次の読み取りは -1 を返します。
value
- データが読み込まれるバッファ JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。int readBytes(byte[] value, int length) throws JMSException
配列 value
の長さがストリームから読み取られる残りのバイト数より短い場合は、配列を埋める必要があります。以降の呼び出しでは、次の増分が読み取られます。
ストリームに残っているバイト数が配列 value
の長さより短い場合、バイトを配列に読み込む必要があります。読み取られた合計バイト数の戻り値は配列の長さよりも小さく、ストリームから読み取るバイトが残っていないことを示します。ストリームの次の読み取りは -1 を返します。
length
が負の場合、または length
が配列 value
の長さより大きい場合、IndexOutOfBoundsException
がスローされます。この例外の場合、ストリームからバイトは読み取られません。
value
- データが読み込まれるバッファ length
- 読み取るバイト数。value.length
以下である必要があります JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageNotReadableException
- メッセージが書き込み専用モードの場合。void writeBoolean(boolean value) throws JMSException
boolean
を 1 バイトの値としてバイトメッセージストリームに書き込みます。値 true
は値 (byte)1
として書き込まれます。値 false
は値 (byte)0
として書き込まれます。value
- 書き込まれる boolean
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeByte(byte value) throws JMSException
byte
を 1 バイトの値としてバイトメッセージストリームに書き込みます。value
- 書き込まれる byte
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeShort(short value) throws JMSException
short
を 2 バイトとしてバイトメッセージストリームに書き込みます。value
- 書き込む short
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeChar(char value) throws JMSException
char
を 2 バイト値としてバイトメッセージストリームに書き込みます。value
- 書き込まれる char
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeInt(int value) throws JMSException
int
を 4 バイトとしてバイトメッセージストリームに書き込みます。value
- 書き込む int
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeLong(long value) throws JMSException
long
を 8 バイトとして、上位バイトを先にバイトメッセージストリームに書き込みます。value
- 書き込む long
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeFloat(float value) throws JMSException
Float
クラスの floatToIntBits
メソッドを使用して float
引数を int
に変換し、その int
値を 4 バイトの量として、上位バイトから先にバイトメッセージストリームに書き込みます。value
- 書き込まれる float
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeDouble(double value) throws JMSException
Double
クラスの doubleToLongBits
メソッドを使用して、double
引数を long
に変換し、その long
値を 8 バイトの量として、上位バイトから先にバイトメッセージストリームに書き込みます。value
- 書き込まれる double
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeUTF(StringSE value) throws JMSException
UTF-8 形式の詳細については、「ファイルシステムの安全な UCS 変換形式(FSS_UTF)」、X/Open 暫定仕様、X/Open Company Ltd.、ドキュメント番号: P316 を参照してください。この情報は、ISO/IEC 10646、Annex P にも記載されています。
value
- 書き込まれる String
値 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeBytes(byte[] value) throws JMSException
value
- 書き込まれるバイト配列 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeBytes(byte[] value, int offset, int length) throws JMSException
value
- 書き込まれるバイト配列値 offset
- バイト配列内の初期オフセット length
- 使用するバイト数 JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。void writeObject(ObjectSE value) throws JMSException
このメソッドは、オブジェクト化されたプリミティブオブジェクト型(Integer
、Double
、Long
...)、String
オブジェクト、バイト配列に対してのみ機能します。
value
- 書き込まれる Java プログラミング言語のオブジェクト(「Java オブジェクト」)。null であってはなりません JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageFormatException
- オブジェクトの型が無効な場合。MessageNotWriteableException
- メッセージが読み取り専用モードの場合。NullPointerExceptionSE
- パラメーター value
が null の場合。void reset() throws JMSException
JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージのリセットに失敗した場合。MessageFormatException
- メッセージの形式が無効な場合。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.