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, TextMessageDEFAULT_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, setStringPropertylong getBodyLength()
throws JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。boolean readBoolean()
throws JMSExceptionboolean を読み取ります。boolean 値 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。byte readByte()
throws JMSExceptionbyte としてのバイトメッセージストリームからの次のバイト JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。int readUnsignedByte()
throws JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。short readShort()
throws JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。int readUnsignedShort()
throws JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。char readChar()
throws JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。int readInt()
throws JMSExceptionint として解釈されます JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。long readLong()
throws JMSExceptionlong として解釈されます JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。float readFloat()
throws JMSExceptionfloat を読み取ります。float として解釈されます JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの読み取りに失敗した場合。MessageEOFException - 予期しないバイトストリームの終わりに達した場合。MessageNotReadableException - メッセージが書き込み専用モードの場合。double readDouble()
throws JMSExceptiondouble を読み取ります。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 JMSExceptionboolean を 1 バイトの値としてバイトメッセージストリームに書き込みます。値 true は値 (byte)1 として書き込まれます。値 false は値 (byte)0 として書き込まれます。value - 書き込まれる boolean 値 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeByte(byte value)
throws JMSExceptionbyte を 1 バイトの値としてバイトメッセージストリームに書き込みます。value - 書き込まれる byte 値 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeShort(short value)
throws JMSExceptionshort を 2 バイトとしてバイトメッセージストリームに書き込みます。value - 書き込む short JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeChar(char value)
throws JMSExceptionchar を 2 バイト値としてバイトメッセージストリームに書き込みます。value - 書き込まれる char 値 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeInt(int value)
throws JMSExceptionint を 4 バイトとしてバイトメッセージストリームに書き込みます。value - 書き込む int JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeLong(long value)
throws JMSExceptionlong を 8 バイトとして、上位バイトを先にバイトメッセージストリームに書き込みます。value - 書き込む long JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeFloat(float value)
throws JMSExceptionFloat クラスの floatToIntBits メソッドを使用して float 引数を int に変換し、その int 値を 4 バイトの量として、上位バイトから先にバイトメッセージストリームに書き込みます。value - 書き込まれる float 値 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeDouble(double value)
throws JMSExceptionDouble クラスの 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 JMSExceptionvalue - 書き込まれるバイト配列 JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの書き込みに失敗した場合。MessageNotWriteableException - メッセージが読み取り専用モードの場合。void writeBytes(byte[] value,
int offset,
int length)
throws JMSExceptionvalue - 書き込まれるバイト配列値 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 JMSExceptionJMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージのリセットに失敗した場合。MessageFormatException - メッセージの形式が無効な場合。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.