public interface QueueSender extends MessageProducer
QueueSender
オブジェクトを使用してメッセージをキューに送信します。 通常、Queue
は、QueueSender
の作成時に指定されます。この場合、識別されていない QueueSender
に send
メソッドを使用しようとすると、java.lang.UnsupportedOperationException
がスローされます。
識別されていない Queue
を使用して QueueSender
が作成された場合、Queue
が識別されていると想定して send
メソッドを使用しようとすると、java.lang.UnsupportedOperationException
がスローされます。
send
メソッドの実行中、メッセージはクライアント内の他のスレッドによって変更されてはなりません。メッセージが変更された場合、send
の結果は未定義です。
メッセージを送信した後、クライアントは、送信されたメッセージに影響を与えることなく、メッセージを保持および変更できます。同じメッセージオブジェクトが複数回送信される場合があります。
次のメッセージヘッダーは、メッセージ送信の一部として設定されます: JMSDestination
、JMSDeliveryMode
、JMSExpiration
、JMSPriority
、JMSMessageID
、JMSTimeStamp
。メッセージが送信されると、これらのヘッダーの値は無視されます。send
の完了後、ヘッダーはメッセージを送信するメソッドによって指定された値を保持します。MessageProducer.setDisableMessageID
または MessageProducer.setDisableMessageTimestamp
メソッドによってこれらのヘッダーの設定が明示的に無効にされている場合、send
メソッドが JMSMessageID
および JMSTimeStamp
を設定しない可能性があります。
MessageProducer
の作成は、QueueSender
の作成と同じ機能を提供します。新しいコードを作成するときは、MessageProducer
オブジェクトをお勧めします。QueueSender
は、既存のコードをサポートするために提供されています。
MessageProducer
, Session.createProducer(Destination)
, QueueSession.createSender(Queue)
修飾子と型 | メソッドと説明 |
---|---|
Queue | getQueue() この QueueSender に関連付けられたキューを取得します。 |
void | send(Message message) メッセージをキューに送信します。 |
void | send(Message message, int deliveryMode, int priority, long timeToLive) 配信モード、優先度、存続時間を指定して、メッセージをキューに送信します。 |
void | send(Queue queue, Message message) 不明なメッセージプロデューサーのキューにメッセージを送信します。 |
void | send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) 識別されていないメッセージプロデューサーのキューにメッセージを送信し、配信モード、優先度、存続時間を指定します。 |
close, getDeliveryDelay, getDeliveryMode, getDestination, getDisableMessageID, getDisableMessageTimestamp, getPriority, getTimeToLive, send, send, send, send, send, send, setDeliveryDelay, setDeliveryMode, setDisableMessageID, setDisableMessageTimestamp, setPriority, setTimeToLive
Queue getQueue() throws JMSException
QueueSender
に関連付けられたキューを取得します。JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがこの QueueSender
のキューの取得に失敗した場合 void send(Message message) throws JMSException
QueueSender
のデフォルトの配信モード、優先度、存続時間を使用します。MessageProducer
の send
message
- 送信するメッセージ JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。MessageFormatException
- 無効なメッセージが指定された場合。InvalidDestinationException
- クライアントが無効なキューを持つ QueueSender
でこのメソッドを使用する場合。UnsupportedOperationExceptionSE
- 作成時にキューを指定しなかった QueueSender
でクライアントがこのメソッドを使用する場合。MessageProducer.getDeliveryMode()
, MessageProducer.getTimeToLive()
, MessageProducer.getPriority()
void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
MessageProducer
の send
message
- 送信するメッセージ deliveryMode
- 使用する配信モード priority
- このメッセージの優先度 timeToLive
- メッセージの存続期間 (ミリ秒単位)JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。MessageFormatException
- 無効なメッセージが指定された場合。InvalidDestinationException
- クライアントが無効なキューを持つ QueueSender
でこのメソッドを使用する場合。UnsupportedOperationExceptionSE
- 作成時にキューを指定しなかった QueueSender
でクライアントがこのメソッドを使用する場合。Session.createProducer(javax.jms.Destination)
void send(Queue queue, Message message) throws JMSException
QueueSender
のデフォルトの配信モード、優先度、存続時間を使用します。通常、メッセージプロデューサーには作成時にキューが割り当てられます。ただし、Jakarta Messaging API は未確認のメッセージプロデューサーもサポートしているため、メッセージが送信されるたびにキューを指定する必要があります。
queue
- このメッセージを送信するキュー message
- 送信するメッセージ JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。MessageFormatException
- 無効なメッセージが指定された場合。InvalidDestinationException
- クライアントが無効なキューでこのメソッドを使用する場合。MessageProducer.getDeliveryMode()
, MessageProducer.getTimeToLive()
, MessageProducer.getPriority()
void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
通常、メッセージプロデューサーには作成時にキューが割り当てられます。ただし、Jakarta Messaging API は未確認のメッセージプロデューサーもサポートしているため、メッセージが送信されるたびにキューを指定する必要があります。
queue
- このメッセージを送信するキュー message
- 送信するメッセージ deliveryMode
- 使用する配信モード priority
- このメッセージの優先度 timeToLive
- メッセージの存続期間 (ミリ秒単位)JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。MessageFormatException
- 無効なメッセージが指定された場合。InvalidDestinationException
- クライアントが無効なキューでこのメソッドを使用する場合。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.