インターフェース JMSProducer
public interface JMSProducer
JMSProducer
は、JMSContext
に代わってメッセージを送信するために使用される単純なオブジェクトです。JMSProducer
のインスタンスは、JMSContext
でcreateProducer
メソッドを呼び出すことによって作成されます。指定された宛先にメッセージを送信するためのさまざまなsend
メソッドを提供します。また、メッセージまたはメッセージのセットを送信する前に、メッセージ送信オプション、メッセージプロパティ、メッセージヘッダーを指定できるようにするメソッドも提供します。メッセージ送信オプションは、次の 1 つ以上の方法を使用して指定できます:
setDeliveryMode
、setPriority
、setTimeToLive
、setDeliveryDelay
、setDisableMessageTimestamp
、setDisableMessageID
、setAsync
。メッセージプロパティは、9 つの
setProperty
メソッドの 1 つ以上を使用して指定できます。これらのメソッドを使用して設定されたメッセージプロパティは、メッセージに直接設定されたメッセージプロパティを上書きします。メッセージヘッダーは、
setJMSCorrelationID
、setJMSCorrelationIDAsBytes
、setJMSType
またはsetJMSReplyTo
の 1 つ以上の方法を使用して指定できます。これらのメソッドを使用して設定されたメッセージヘッダーは、メッセージに直接設定されたメッセージヘッダーを上書きします。上記のすべてのメソッドは
JMSProducer
を返し、メソッド呼び出しを連鎖させて、流動的なプログラミングスタイルを可能にします。例:context.createProducer().setDeliveryMode(DeliveryMode.NON_PERSISTENT).setTimeToLive(1000).send(destination、message);
JMSProducer
のインスタンスは、自由に作成でき、大量のリソースを消費しない軽量オブジェクトを対象としています。このインターフェースはclose
メソッドを提供しません。- 導入:
- JMS 2.0
- バージョン:
- Jakarta Messaging 2.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 JMSProducer
clearProperties()
このJMSProducer
に設定されているメッセージプロパティをすべてクリアしますCompletionListener
getAsync()
このJMSProducer
オブジェクトでのsend
への後続の呼び出しが非同期になるように構成されている場合、このメソッドは以前に構成されたCompletionListener
を返します。boolean
getBooleanProperty(StringSE name)
このJMSProducer
に設定され、boolean
に変換された指定された名前のメッセージプロパティを返します。byte
getByteProperty(StringSE name)
このJMSProducer
に設定され、String
に変換された指定された名前のメッセージプロパティを返します。long
getDeliveryDelay()
メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で取得します。int
getDeliveryMode()
このJMSProducer
を使用して送信されたメッセージの配信モードを返しますboolean
getDisableMessageID()
メッセージ ID が無効になっているかどうかの指標を取得します。boolean
getDisableMessageTimestamp()
メッセージのタイムスタンプが無効になっているかどうかの指標を取得します。double
getDoubleProperty(StringSE name)
このJMSProducer
に設定され、double
に変換された指定された名前のメッセージプロパティを返します。float
getFloatProperty(StringSE name)
このJMSProducer
に設定され、float
に変換された指定された名前のメッセージプロパティを返します。int
getIntProperty(StringSE name)
このJMSProducer
に設定され、int
に変換された指定された名前のメッセージプロパティを返します。StringSE
getJMSCorrelationID()
このJMSProducer
に設定されているJMSCorrelationID
ヘッダー値をString
として返します。byte[]
getJMSCorrelationIDAsBytes()
このJMSProducer
に設定されているJMSCorrelationID
ヘッダー値をバイトの配列として返します。Destination
getJMSReplyTo()
このJMSProducer
に設定されているJMSReplyTo
ヘッダー値を返します。StringSE
getJMSType()
このJMSProducer
に設定されているJMSType
ヘッダー値を返します。long
getLongProperty(StringSE name)
このJMSProducer
に設定され、long
に変換された指定された名前のメッセージプロパティを返します。ObjectSE
getObjectProperty(StringSE name)
このJMSProducer
に設定され、オブジェクト化された形式に変換された、指定された名前のメッセージプロパティを返します。int
getPriority()
このJMSProducer
を使用して送信されるメッセージの優先度を返しますSetSE<StringSE>
getPropertyNames()
この JMSProducer に設定されているすべてのメッセージプロパティの名前の変更不可能なSet
ビューを返します。short
getShortProperty(StringSE name)
このJMSProducer
に設定され、short
に変換された指定された名前のメッセージプロパティを返します。StringSE
getStringProperty(StringSE name)
このJMSProducer
に設定され、String
に変換された指定された名前のメッセージプロパティを返します。long
getTimeToLive()
このJMSProducer
を使用して送信されたメッセージの存続時間を返します。boolean
propertyExists(StringSE name)
指定された名前のメッセージプロパティがこのJMSProducer
に設定されているかどうかを示しますJMSProducer
send(Destination destination, byte[] body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のBytesMessage
を指定された宛先に送信します。JMSProducer
send(Destination destination, Message message)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された宛先にメッセージを送信します。JMSProducer
send(Destination destination, SerializableSE body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のObjectMessage
を指定された宛先に送信します。JMSProducer
send(Destination destination, StringSE body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のTextMessage
を指定された宛先に送信します。JMSProducer
send(Destination destination, MapSE<StringSE,ObjectSE> body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のMapMessage
を指定された宛先に送信します。JMSProducer
setAsync(CompletionListener completionListener)
このJMSProducer
オブジェクトでのsend
への後続の呼び出しを同期にするか、非同期にするかを指定します。JMSProducer
setDeliveryDelay(long deliveryDelay)
メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で設定します。JMSProducer
setDeliveryMode(int deliveryMode)
このJMSProducer
を使用して送信されるメッセージの配信モードを指定しますJMSProducer
setDisableMessageID(boolean value)
このJMSProducer
を使用して送信されるメッセージのメッセージ ID を無効にできるかどうかを指定しますJMSProducer
setDisableMessageTimestamp(boolean value)
このJMSProducer
を使用して送信されるメッセージのメッセージタイムスタンプを無効にできるかどうかを指定します。JMSProducer
setJMSCorrelationID(StringSE correlationID)
このJMSProducer
を使用して送信されるメッセージのJMSCorrelationID
ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID はString
として指定されます。JMSProducer
setJMSCorrelationIDAsBytes(byte[] correlationID)
このJMSProducer
を使用して送信されるメッセージのJMSCorrelationID
ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID はバイトの配列として指定されます。JMSProducer
setJMSReplyTo(Destination replyTo)
このJMSProducer
を使用して送信されるメッセージのJMSReplyTo
ヘッダー値が指定されたDestination
オブジェクトに設定されることを指定します。JMSProducer
setJMSType(StringSE type)
このJMSProducer
を使用して送信されるメッセージのJMSType
ヘッダー値が指定されたメッセージ型に設定されることを指定します。JMSProducer
setPriority(int priority)
このJMSProducer
を使用して送信されるメッセージの優先順位を指定しますJMSProducer
setProperty(StringSE name, boolean value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたboolean
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, byte value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたbyte
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, double value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたdouble
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, float value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたfloat
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, int value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたint
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, long value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたlong
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, short value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたshort
値に設定されることを指定します。JMSProducer
setProperty(StringSE name, ObjectSE value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定された Java オブジェクト値に設定されることを指定します。JMSProducer
setProperty(StringSE name, StringSE value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたString
値に設定されることを指定します。JMSProducer
setTimeToLive(long timeToLive)
このJMSProducer
を使用して送信されるメッセージの存続時間を指定します。
メソッドの詳細
send
JMSProducer send(Destination destination, Message message)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された宛先にメッセージを送信します。- パラメーター:
destination
- このメッセージの送信先message
- 送信するメッセージ- 戻り値:
- この
JMSProducer
- 例外:
MessageFormatRuntimeException
- 無効なメッセージが指定された場合。InvalidDestinationRuntimeException
- クライアントが無効な宛先でこのメソッドを使用する場合。MessageNotWriteableRuntimeException
- このJMSProducer
がメッセージプロパティを設定するように構成されているが、メッセージのプロパティが読み取り専用である場合JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。
send
JMSProducer send(Destination destination, StringSE body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のTextMessage
を指定された宛先に送信します。- パラメーター:
destination
- このメッセージの送信先body
- 送信されるTextMessage
の本体。null 値が指定された場合、本文のないTextMessage
が送信されます。- 戻り値:
- この
JMSProducer
- 例外:
MessageFormatRuntimeException
- 無効なメッセージが指定された場合。InvalidDestinationRuntimeException
- クライアントが無効な宛先でこのメソッドを使用する場合。JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。
send
JMSProducer send(Destination destination, MapSE<StringSE,ObjectSE> body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のMapMessage
を指定された宛先に送信します。- パラメーター:
destination
- このメッセージの送信先body
- 送信されるMapMessage
の本体。null 値が指定された場合、マップエントリのないMapMessage
が送信されます。- 戻り値:
- この
JMSProducer
- 例外:
MessageFormatRuntimeException
- 無効なメッセージが指定された場合。InvalidDestinationRuntimeException
- クライアントが無効な宛先でこのメソッドを使用する場合。JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。
send
JMSProducer send(Destination destination, byte[] body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のBytesMessage
を指定された宛先に送信します。- パラメーター:
destination
- このメッセージの送信先body
- 送信されるBytesMessage
の本体。null 値が指定された場合、本文のないBytesMessage
が送信されます。- 戻り値:
- この
JMSProducer
- 例外:
MessageFormatRuntimeException
- 無効なメッセージが指定された場合。InvalidDestinationRuntimeException
- クライアントが無効な宛先でこのメソッドを使用する場合。JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。
send
JMSProducer send(Destination destination, SerializableSE body)
このJMSProducer
で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文のObjectMessage
を指定された宛先に送信します。- パラメーター:
destination
- このメッセージの送信先body
- 送信される ObjectMessage の本体。null 値が指定された場合、本文のないObjectMessage
が送信されます。- 戻り値:
- この
JMSProducer
- 例外:
MessageFormatRuntimeException
- 無効なメッセージが指定された場合。InvalidDestinationRuntimeException
- クライアントが無効な宛先でこのメソッドを使用する場合。JMSRuntimeException
- Jakarta Messaging プロバイダーが内部エラーのためにメッセージの送信に失敗した場合。
setDisableMessageID
JMSProducer setDisableMessageID(boolean value)
このJMSProducer
を使用して送信されるメッセージのメッセージ ID を無効にできるかどうかを指定しますメッセージ ID はメッセージのサイズを作成して拡大するために多少の労力を費やすため、一部の Jakarta Messaging プロバイダーは、メッセージ ID がアプリケーションによって使用されていないというヒントが与えられた場合、メッセージのオーバーヘッドを最適化できる場合があります。このメソッドを呼び出すことにより、Jakarta Messaging アプリケーションは、この
JMSProducer
を使用して送信されるすべてのメッセージに対して、この潜在的な最適化を可能にします。Jakarta Messaging プロバイダーがこのヒントを受け入れる場合、これらのメッセージのメッセージ ID を null に設定する必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。メッセージ ID はデフォルトで有効になっています。
- パラメーター:
value
- メッセージ ID を無効にできるかどうかを示します- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージ ID を無効に設定できない場合。- 関連事項:
getDisableMessageID()
getDisableMessageID
boolean getDisableMessageID()
メッセージ ID が無効になっているかどうかの指標を取得します。- 戻り値:
- メッセージ ID が無効になっているかどうかの指標
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが、内部エラーのためにメッセージ ID が無効になっているかどうかを判断できない場合。- 関連事項:
setDisableMessageID(boolean)
setDisableMessageTimestamp
JMSProducer setDisableMessageTimestamp(boolean value)
このJMSProducer
を使用して送信されるメッセージのメッセージタイムスタンプを無効にできるかどうかを指定します。タイムスタンプはメッセージのサイズを作成して大きくするためにある程度の努力を要するため、一部の Jakarta Messaging プロバイダーは、タイムスタンプがアプリケーションによって使用されていないというヒントが与えられた場合、メッセージのオーバーヘッドを最適化できる場合があります。このメソッドを呼び出すことにより、Jakarta Messaging アプリケーションは、この
JMSProducer
を使用して送信されるすべてのメッセージに対してこの潜在的な最適化を可能にします。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージのタイムスタンプはゼロに設定する必要があります。プロバイダーがヒントを無視する場合は、タイムスタンプを通常の値に設定する必要があります。メッセージのタイムスタンプはデフォルトで有効になっています。
- パラメーター:
value
- メッセージのタイムスタンプを無効にできるかどうかを示します- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがタイムスタンプを無効に設定できない場合。- 関連事項:
getDisableMessageTimestamp()
getDisableMessageTimestamp
boolean getDisableMessageTimestamp()
メッセージのタイムスタンプが無効になっているかどうかの指標を取得します。- 戻り値:
- メッセージのタイムスタンプが無効になっているかどうかの指標
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが、内部エラーのためにタイムスタンプが無効になっているかどうかを判断できない場合。- 関連事項:
setDisableMessageTimestamp(boolean)
setDeliveryMode
JMSProducer setDeliveryMode(int deliveryMode)
このJMSProducer
を使用して送信されるメッセージの配信モードを指定します配信モードはデフォルトで
PERSISTENT
に設定されています。- パラメーター:
deliveryMode
- 使用するメッセージ配信モード。有効な値はDeliveryMode.NON_PERSISTENT
とDeliveryMode.PERSISTENT
です- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが配信モードの設定に失敗した場合。- 関連事項:
getDeliveryMode()
,DeliveryMode.NON_PERSISTENT
,DeliveryMode.PERSISTENT
,Message.DEFAULT_DELIVERY_MODE
getDeliveryMode
int getDeliveryMode()
このJMSProducer
を使用して送信されたメッセージの配信モードを返します- 戻り値:
- メッセージ配信モード
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーが配信モードを取得できなかった場合- 関連事項:
setDeliveryMode(int)
setPriority
JMSProducer setPriority(int priority)
このJMSProducer
を使用して送信されるメッセージの優先順位を指定しますJakarta Messaging API は 10 レベルの優先度値を定義し、0 が最低優先度、9 が最高優先度です。クライアントは、優先度 0 〜 4 を通常の優先度のグラデーションと見なし、優先度 5 〜 9 を優先度の優先度のグラデーションと見なす必要があります。優先度はデフォルトで 4 に設定されています。
- パラメーター:
priority
- 使用するメッセージの優先度。0 から 9 までの値でなければなりません- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーが優先度の設定に失敗した場合- 関連事項:
getPriority()
,Message.DEFAULT_PRIORITY
getPriority
int getPriority()
このJMSProducer
を使用して送信されるメッセージの優先度を返します- 戻り値:
- メッセージの優先度
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーが優先度を取得できなかった場合。- 関連事項:
setPriority(int)
setTimeToLive
JMSProducer setTimeToLive(long timeToLive)
このJMSProducer
を使用して送信されるメッセージの存続時間を指定します。これは、メッセージの有効期限を決定するために使用されます。メッセージの有効期限は、メッセージの存続時間と送信時間の合計です。トランザクション送信の場合、これはクライアントがメッセージを送信する時間であり、トランザクションがコミットされる時間ではありません。
クライアントは、期限切れのメッセージを受信しないでください。ただし、Jakarta Messaging は、これが発生しないことを保証するものではありません。
Jakarta Messaging プロバイダーは、メッセージを正確に期限切れにするために最善を尽くす必要があります。ただし、Jakarta Messaging は提供される精度を定義していません。存続時間を単に無視することは受け入れられません。
存続時間はデフォルトでゼロに設定されています。これは、メッセージが期限切れになることはないことを意味します。
- パラメーター:
timeToLive
- 使用される存続時間(ミリ秒単位)。ゼロの値は、メッセージが期限切れにならないことを意味します。- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが存続時間を設定できない場合。- 関連事項:
getTimeToLive()
,Message.DEFAULT_TIME_TO_LIVE
getTimeToLive
long getTimeToLive()
このJMSProducer
を使用して送信されたメッセージの存続時間を返します。- 戻り値:
- メッセージの存続時間(ミリ秒)。ゼロの値は、メッセージが期限切れにならないことを意味します。
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが存続時間を取得できない場合。- 関連事項:
setTimeToLive(long)
setDeliveryDelay
JMSProducer setDeliveryDelay(long deliveryDelay)
メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で設定します。トランザクション送信の場合、この時間は、トランザクションがコミットされたときではなく、クライアントがメッセージを送信したときに始まります。
deliveryDelay はデフォルトでゼロに設定されています。
- パラメーター:
deliveryDelay
- ミリ秒単位の配信遅延。- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが内部エラーのために配信遅延の設定に失敗した場合- 関連事項:
getDeliveryDelay()
,Message.DEFAULT_DELIVERY_DELAY
getDeliveryDelay
long getDeliveryDelay()
メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で取得します。- 戻り値:
- ミリ秒単位の配信遅延。
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが配信遅延を取得できない場合。- 関連事項:
setDeliveryDelay(long)
setAsync
JMSProducer setAsync(CompletionListener completionListener)
このJMSProducer
オブジェクトでのsend
への後続の呼び出しを同期にするか、非同期にするかを指定します。指定されたCompletionListener
が null でない場合、send
への後続の呼び出しは非同期になります。指定されたCompletionListener
が null の場合、send
への後続の呼び出しは同期されます。send
の呼び出しは、デフォルトで同期されています。send
の呼び出しが非同期の場合、メッセージの送信に関連する作業の一部は別のスレッドで実行され、操作が完了すると、指定された CompletionListener が通知されます。メッセージが正常に送信されると、Jakarta Messaging プロバイダーは CompletionListener オブジェクトのコールバックメソッド onCompletion を呼び出します。そのコールバックが呼び出された場合のみ、アプリケーションは、送信が同期された場合と同じ程度の信頼性でメッセージが正常に送信されたことを確認できます。この程度の信頼性を必要とするアプリケーションは、続行する前にコールバックが呼び出されるまで待機する必要があります。
次の情報は、非同期送信が通常どのように実装されるかを示すことを目的としています。
一部の Jakarta Messaging プロバイダーでは、通常の同期送信では、メッセージを リモート Jakarta Messaging サーバーに送信し、確認応答の受信を待ってから戻ります。このようなプロバイダーは、メッセージを リモート Jakarta Messaging サーバーに送信し、確認応答を待たずに戻ることで、非同期送信を実装することが期待されます。確認応答を受信すると、Jakarta Messaging プロバイダーは、アプリケーション指定の CompletionListener オブジェクトの onCompletion メソッドを呼び出してアプリケーションに通知します。何らかの理由で確認応答が受信されない場合は、Jakarta Messaging プロバイダーは CompletionListener の onException メソッドを呼び出してアプリケーションに通知します。
Jakarta Messaging 仕様で許容される信頼性のレベルが低い場合、通常の同期送信では確認応答を待たないことがあります。その場合、非同期送信は同期送信と同様になることが予想されます。つまり、Jakarta Messaging プロバイダーはメッセージを リモート Jakarta Messaging サーバーに送信し、確認応答を待たずに戻ります。ただし、Jakarta Messaging プロバイダーは、アプリケーション指定の CompletionListener オブジェクトで onCompletion メソッドを呼び出すことにより、送信が完了したことをアプリケーションに通知します。
以下に示す要件を満たしている限り、呼び出し元のスレッドで何を実行し、非同期で何を実行するかを正確に決定するのは Jakarta Messaging プロバイダーの責任です。
サービス品質 : 送信操作が正常に完了した後、つまり通常の同期送信が実行された場合と同じ信頼度でメッセージが正常に送信された後、JMS プロバイダーは CompletionListener の onCompletion メソッドを呼び出す必要があります。これより前に CompletionListener を呼び出してはなりません。
例外 : send メソッドの呼び出し中に例外が発生した場合は、send メソッドを呼び出しているスレッドで適切な例外がスローされる必要があります。この場合、Jakarta Messaging プロバイダーは CompletionListener の onCompletion または onException メソッドを呼び出してはなりません。send メソッドを呼び出しているスレッドでスローできない例外が発生した場合は、Jakarta Messaging プロバイダーは CompletionListener の onException メソッドを呼び出す必要があります。どちらの場合も、例外が発生した場合、メッセージが正常に送信されたかどうかは未定義です。
メッセージの順序 : 同じ JMSContext を使用して複数のメッセージを送信する場合は、Jakarta Messaging メッセージの順序の要件を満たす必要があります。これは、同期送信と非同期送信の組み合わせが実行された場合でも適用されます。アプリケーションは、次のメッセージを送信する前に非同期送信が完了するのを待つ必要はありません。
閉じる、コミット、ロールバック : JMSContext で close メソッドが呼び出された場合、JMS プロバイダーは、オブジェクトを閉じて戻る前に、不完全な送信操作が完了し、すべての
CompletionListener
コールバックが戻るまでブロックする必要があります。セッションがトランザクションされる(ローカルトランザクションを使用する)場合、JMSContext の commit または rollback メソッドが呼び出されると、JMS プロバイダーは、不完全な送信操作が完了し、コミットまたはロールバックを実行する前にすべてのCompletionListener
コールバックが返されるまでブロックする必要があります。エラーが発生しない限り、不完全な送信は正常に完了することが許可されている必要があります。CompletionListener コールバックメソッドはそれ自体の JMSContext tt で close 、 commit 、または rollback を呼び出さないでください >。これを行うと、 close 、 commit 、または rollback が IllegalStateRuntimeException をスローします。
Jakarta EE での使用に関する制限このメソッドは、Jakarta EE EJB または Web コンテナーでは使用しないでください。これを行うと、
JMSRuntimeException
がスローされる可能性がありますが、これは保証されていません。メッセージヘッダー Jakarta Messaging は、" 送信時の Jakarta Messaging プロバイダー " によって設定する必要がある、多数のメッセージヘッダーフィールドとメッセージプロパティを定義します。送信が非同期の場合、これらのフィールドとプロパティは、CompletionListener が呼び出された後にのみ、送信クライアントでアクセスできます。CompletionListener の onException メソッドが呼び出されると、これらのメッセージヘッダーフィールドとプロパティの状態は未定義になります。
スレッドの制限 : 非同期送信を実行するアプリケーションは、JMS で定義されているスレッド制限を確認する必要があります。これは、セッションが一度に 1 つのスレッドのみによって使用される可能性があることを意味します。
CompletionListener を設定しても、セッションは CompletionListener を呼び出す制御スレッド専用にはなりません。アプリケーションスレッドは、非同期送信を実行した後もセッションを引き続き使用できます。ただし、アプリケーションスレッドが同時にセッションを使用している可能性がある場合は、 CompletionListener のコールバックメソッドでセッションを使用しないでください。
Jakarta Messaging プロバイダーによる CompletionListener の使用 : セッションは、一度に 1 つの CompletionListener コールバックメソッドのみを呼び出します。特定の JMSContext に対して、コールバック(
onCompletion
とonException
の両方)は、send メソッドへの対応する呼び出しと同じ順序で実行されます。Jakarta Messaging プロバイダーは、send メソッドを呼び出しているスレッドから CompletionListener を呼び出さないでください。メッセージオブジェクトの使用に関する制限 : 非同期送信を実行するアプリケーションは、メッセージオブジェクトが一度に 1 つの論理制御スレッドによってアクセスされるように設計されており、同時使用をサポートしないという制限を考慮する必要があります。
send メソッドが返された後、アプリケーションは、CompletionListener の onCompletion または onException メソッドが呼び出されるまで、Message オブジェクトのヘッダー、プロパティ、本文を読み取ろうとしないでください。これは、この間に Jakarta Messaging プロバイダーが別のスレッドで Message オブジェクトを変更している可能性があるためです。send メソッドが返されてから CompletionListener が呼び出されるまでの間に、アプリケーションが Message オブジェクトにアクセスまたは変更しようとすると、Jakarta Messaging プロバイダーは JMSException をスローする場合があります。Jakarta Messaging プロバイダーが例外をスローしない場合、動作は未定義です。
- パラメーター:
completionListener
- 非同期送信動作が必要な場合は、送信が完了したときに通知されるように、これをCompletionListener
に設定する必要があります。同期送信動作が必要な場合は、これをnull
に設定する必要があります。- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが発生した場合- 関連事項:
getAsync()
,CompletionListener
getAsync
CompletionListener getAsync()
このJMSProducer
オブジェクトでのsend
への後続の呼び出しが非同期になるように構成されている場合、このメソッドは以前に構成されたCompletionListener
を返します。send
への後続の呼び出しが同期するように構成されている場合、このメソッドはnull
を返します。- 戻り値:
CompletionListener
またはnull
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが必要な情報を取得できない場合。- 関連事項:
setAsync(jakarta.jms.CompletionListener)
setProperty
JMSProducer setProperty(StringSE name, boolean value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたboolean
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するboolean
値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getBooleanProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, byte value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたbyte
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するbyte
値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getByteProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, short value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたshort
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するshort
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getShortProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, int value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたint
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するint
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getIntProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, long value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたlong
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するlong
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getLongProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, float value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたfloat
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するfloat
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getFloatProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, double value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたdouble
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するdouble
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getDoubleProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, StringSE value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定されたString
値に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定するString
プロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。- 関連事項:
getStringProperty(java.lang.String)
setProperty
JMSProducer setProperty(StringSE name, ObjectSE value)
このJMSProducer
を使用して送信されるメッセージで、指定されたプロパティが指定された Java オブジェクト値に設定されることを指定します。このメソッドは、オブジェクト化されたプリミティブオブジェクト型(
Integer
、Double
、Long
...)およびString
オブジェクトに対してのみ機能することに注意してください。これにより、送信されるメッセージにすでに設定されている同じ名前のプロパティが置き換えられます。
- パラメーター:
name
- プロパティの名前value
- 設定する Java オブジェクトのプロパティ値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティの設定に失敗した場合。IllegalArgumentExceptionSE
- 名前が null の場合、または名前が空の文字列の場合。MessageFormatRuntimeException
- オブジェクトが無効な場合- 関連事項:
getObjectProperty(java.lang.String)
clearProperties
JMSProducer clearProperties()
このJMSProducer
に設定されているメッセージプロパティをすべてクリアします- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが内部エラーのためにメッセージプロパティをクリアできない場合。
propertyExists
boolean propertyExists(StringSE name)
指定された名前のメッセージプロパティがこのJMSProducer
に設定されているかどうかを示します- パラメーター:
name
- プロパティの名前- 戻り値:
- プロパティが存在するかどうかは true
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが、内部エラーのためにプロパティが存在するかどうかを判別できない場合。
getBooleanProperty
boolean getBooleanProperty(StringSE name)
このJMSProducer
に設定され、boolean
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
boolean
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,boolean)
getByteProperty
byte getByteProperty(StringSE name)
このJMSProducer
に設定され、String
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
byte
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,byte)
getShortProperty
short getShortProperty(StringSE name)
このJMSProducer
に設定され、short
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
short
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,short)
getIntProperty
int getIntProperty(StringSE name)
このJMSProducer
に設定され、int
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
int
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,int)
getLongProperty
long getLongProperty(StringSE name)
このJMSProducer
に設定され、long
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
long
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,long)
getFloatProperty
float getFloatProperty(StringSE name)
このJMSProducer
に設定され、float
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
float
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,float)
getDoubleProperty
double getDoubleProperty(StringSE name)
このJMSProducer
に設定され、double
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
double
に変換されたプロパティ値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,double)
getStringProperty
StringSE getStringProperty(StringSE name)
このJMSProducer
に設定され、String
に変換された指定された名前のメッセージプロパティを返します。- パラメーター:
name
- プロパティの名前- 戻り値:
boolean
に変換されたプロパティ値。この名前のプロパティがない場合は、null 値が返されます- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。MessageFormatRuntimeException
- この型変換が無効な場合。- 関連事項:
setProperty(java.lang.String,String)
getObjectProperty
ObjectSE getObjectProperty(StringSE name)
このJMSProducer
に設定され、オブジェクト化された形式に変換された、指定された名前のメッセージプロパティを返します。このメソッドを使用して、同等の
setObjectProperty
メソッド呼び出しまたは同等のプリミティブsettypeProperty
メソッドを使用して、メッセージにプロパティとして格納されているオブジェクトをオブジェクト化された形式で返すことができます。- パラメーター:
name
- プロパティの名前- 戻り値:
- 指定された名前の Java オブジェクトプロパティ値(オブジェクト化された形式)(たとえば、プロパティが
int
として設定されている場合、Integer
が返されます)。この名前のプロパティがない場合は、null 値が返されます - 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ値を取得できない場合。- 関連事項:
setProperty(java.lang.String,java.lang.Object)
getPropertyNames
SetSE<StringSE> getPropertyNames()
この JMSProducer に設定されているすべてのメッセージプロパティの名前の変更不可能なSet
ビューを返します。Jakarta Messaging 標準ヘッダーフィールドはプロパティとは見なされず、このセットでは返されないことに注意してください。
セットは
JMSProducer
によってサポートされているため、マップへの変更はセットに反映されます。ただし、セットを変更することはできません。返されたコレクションを直接またはそのイテレータを介して変更しようとすると、java.lang.UnsupportedOperationException
になります。その動作は、java.util.Collections
メソッドunmodifiableSet
で定義されている動作と一致します。- 戻り値:
- この
JMSProducer
に設定されているすべてのメッセージプロパティの名前を含むSet
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがプロパティ名を取得できない場合。- 関連事項:
Collections.unmodifiableSet(java.util.Set<? extends T>)
SE
setJMSCorrelationIDAsBytes
JMSProducer setJMSCorrelationIDAsBytes(byte[] correlationID)
このJMSProducer
を使用して送信されるメッセージのJMSCorrelationID
ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID はバイトの配列として指定されます。これにより、送信されるメッセージにすでに設定されている
JMSCorrelationID
ヘッダー値が上書きされます。配列はメソッドが戻る前にコピーされるため、配列を後で変更しても、この
JMSProducer
の値は変更されません。プロバイダーが相関 ID のネイティブの概念をサポートしている場合、Jakarta Messaging クライアントは、ネイティブメッセージングクライアントが期待する値と一致するように特定の
JMSCorrelationID
値を割り当てる必要がある場合があります。ネイティブ相関 ID 値のない Jakarta Messaging プロバイダーは、このメソッドとそれに対応する get メソッドをサポートする必要はありません。それらの実装はjava.lang.UnsupportedOperationException
をスローする可能性があります。JMSCorrelationID
にbyte[]
値を使用することは移植できません。- パラメーター:
correlationID
- バイトの配列としての相関 ID 値- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが相関 ID の設定に失敗した場合。- 関連事項:
setJMSCorrelationID(String)
,getJMSCorrelationID()
,getJMSCorrelationIDAsBytes()
getJMSCorrelationIDAsBytes
byte[] getJMSCorrelationIDAsBytes()
このJMSProducer
に設定されているJMSCorrelationID
ヘッダー値をバイトの配列として返します。JMSCorrelationID
にbyte[]
値を使用することは移植できません。- 戻り値:
- バイトの配列としての相関 ID
- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが何らかの内部エラーのために相関 ID を取得できない場合。- 関連事項:
setJMSCorrelationID(String)
,getJMSCorrelationID()
,setJMSCorrelationIDAsBytes(byte[])
setJMSCorrelationID
JMSProducer setJMSCorrelationID(StringSE correlationID)
このJMSProducer
を使用して送信されるメッセージのJMSCorrelationID
ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID はString
として指定されます。これにより、送信されるメッセージにすでに設定されている
JMSCorrelationID
ヘッダー値が上書きされます。クライアントは、
JMSCorrelationID
ヘッダーフィールドを使用して、あるメッセージを別のメッセージにリンクできます。一般的な使用箇所は、レスポンスメッセージをそのリクエストメッセージにリンクすることです。JMSCorrelationID
は、次のいずれかを保持できます。- プロバイダー固有のメッセージ ID
- アプリケーション固有の
String
- プロバイダーネイティブの
byte[]
値
Jakarta Messaging プロバイダーによって送信される各メッセージにはメッセージ ID 値が割り当てられるため、メッセージ ID を介してメッセージをリンクすると便利です。すべてのメッセージ ID 値は、
'ID:'
プレフィックスで始まる必要があります。場合によっては、アプリケーション(複数のクライアントで構成されている)は、メッセージをリンクするためにアプリケーション固有の値を使用する必要があります。たとえば、アプリケーションは
JMSCorrelationID
を使用して、外部情報を参照する値を保持する場合があります。アプリケーション指定の値は、'ID:'
プレフィックスで始まってはなりません。これは、プロバイダーが生成したメッセージ ID 値用に予約されています。プロバイダーが相関 ID のネイティブの概念をサポートしている場合、Jakarta Messaging クライアントは、Jakarta Messaging API を使用しないクライアントが期待する値と一致するように、特定の
JMSCorrelationID
値を割り当てる必要がある場合があります。この目的のためにbyte[]
値が使用されます。ネイティブ相関 ID 値のない Jakarta Messaging プロバイダーは、byte[]
値をサポートする必要はありません。JMSCorrelationID
にbyte[]
値を使用することは移植できません。- パラメーター:
correlationID
- 参照されているメッセージのメッセージ ID- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーが相関 ID の設定に失敗した場合。- 関連事項:
getJMSCorrelationID()
,getJMSCorrelationIDAsBytes()
,setJMSCorrelationIDAsBytes(byte[])
getJMSCorrelationID
StringSE getJMSCorrelationID()
このJMSProducer
に設定されているJMSCorrelationID
ヘッダー値をString
として返します。このメソッドは、プロバイダー固有のメッセージ ID またはアプリケーション固有の
String
値のいずれかである相関 ID 値を返すために使用されます。- 戻り値:
String
としてのメッセージの相関 ID- 例外:
JMSRuntimeException
- Jakarta Messaging プロバイダーが何らかの内部エラーのために相関 ID を取得できない場合。- 関連事項:
setJMSCorrelationID(String)
,getJMSCorrelationIDAsBytes()
,setJMSCorrelationIDAsBytes(byte[])
setJMSType
JMSProducer setJMSType(StringSE type)
このJMSProducer
を使用して送信されるメッセージのJMSType
ヘッダー値が指定されたメッセージ型に設定されることを指定します。これにより、送信されるメッセージにすでに設定されている
JMSType
ヘッダー値が上書きされます。一部の Jakarta Messaging プロバイダーは、アプリケーションによって送信されるメッセージの定義を含むメッセージリポジトリを使用します。
JMSType
ヘッダーフィールドは、プロバイダーのリポジトリ内のメッセージの定義を参照する場合があります。Jakarta Messaging API は、標準のメッセージ定義リポジトリを定義しておらず、それに含まれる定義の命名ポリシーも定義していません。
一部のメッセージングシステムでは、各アプリケーションメッセージのメッセージ型定義を作成し、各メッセージでその型を指定する必要があります。このような Jakarta Messaging プロバイダーと連携するには、アプリケーションが
JMSType
を使用するかどうかに関係なく、Jakarta Messaging クライアントはJMSType
に値を割り当てる必要があります。これにより、フィールドを必要とするプロバイダーに対してフィールドが適切に設定されます。移植性を確保するために、Jakarta Messaging クライアントは、インストール時に現在のプロバイダーのメッセージリポジトリで定義されている値に構成できる
JMSType
のシンボリック値を使用する必要があります。文字列リテラルが使用されている場合、一部の Jakarta Messaging プロバイダーでは有効な型名ではない可能性があります。- パラメーター:
type
- メッセージ型- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージ型の設定に失敗した場合。- 関連事項:
getJMSType()
getJMSType
StringSE getJMSType()
このJMSProducer
に設定されているJMSType
ヘッダー値を返します。- 戻り値:
- メッセージ型
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージ型の取得に失敗した場合。- 関連事項:
setJMSType(String)
setJMSReplyTo
JMSProducer setJMSReplyTo(Destination replyTo)
このJMSProducer
を使用して送信されるメッセージのJMSReplyTo
ヘッダー値が指定されたDestination
オブジェクトに設定されることを指定します。これにより、送信されるメッセージにすでに設定されている
JMSReplyTo
ヘッダー値が上書きされます。JMSReplyTo
ヘッダーフィールドには、現在のメッセージへの応答を送信する宛先が含まれています。null の場合、応答は期待されません。宛先は、Queue
オブジェクトまたはTopic
オブジェクトのいずれかです。null
JMSReplyTo
値で送信されたメッセージは、何らかのイベントの通知である場合もあれば、送信者が関心があると考えるデータである場合もあります。JMSReplyTo
値を持つメッセージは、通常、レスポンスを期待します。レスポンスはオプションです。決定するのはクライアント次第です。これらのメッセージはリクエストと呼ばれます。リクエストにレスポンスして送信されるメッセージは、レスポンスと呼ばれます。場合によっては、クライアントは、以前に送信したリクエストを、受信したばかりの応答と一致させたい場合があります。クライアントは、この目的で
JMSCorrelationID
ヘッダーフィールドを使用できます。- パラメーター:
replyTo
- このメッセージへのレスポンスの送信先となるDestination
- 戻り値:
- この
JMSProducer
- 例外:
JMSRuntimeException
- 内部エラーのために Jakarta Messaging プロバイダーがJMSReplyTo
宛先の設定に失敗した場合。- 関連事項:
getJMSReplyTo()
getJMSReplyTo
Destination getJMSReplyTo()
このJMSProducer
に設定されているJMSReplyTo
ヘッダー値を返します。- 戻り値:
Destination
JMSReplyTo
ヘッダー値- 例外:
JMSRuntimeException
- 内部エラーが原因で Jakarta Messaging プロバイダーがJMSReplyTo
宛先の取得に失敗した場合。- 関連事項:
setJMSReplyTo(Destination)