パッケージ jakarta.jms

インターフェース QueueSender

  • すべてのスーパーインターフェース:
    AutoCloseableSEMessageProducer

    public interface QueueSender
    extends MessageProducer
    クライアントは QueueSender オブジェクトを使用してメッセージをキューに送信します。

    通常、Queue は、QueueSender の作成時に指定されます。この場合、識別されていない QueueSender に send メソッドを使用しようとすると、java.lang.UnsupportedOperationException がスローされます。

    識別されていない Queue を使用して QueueSender が作成された場合、Queue が識別されていると想定して send メソッドを使用しようとすると、java.lang.UnsupportedOperationException がスローされます。

    send メソッドの実行中、メッセージはクライアント内の他のスレッドによって変更されてはなりません。メッセージが変更された場合、send の結果は未定義です。

    メッセージを送信した後、クライアントは、送信されたメッセージに影響を与えることなく、メッセージを保持および変更できます。同じメッセージオブジェクトが複数回送信される場合があります。

    次のメッセージヘッダーは、メッセージ送信の一部として設定されます: JMSDestinationJMSDeliveryModeJMSExpirationJMSPriorityJMSMessageIDJMSTimeStamp。メッセージが送信されると、これらのヘッダーの値は無視されます。send の完了後、ヘッダーはメッセージを送信するメソッドによって指定された値を保持します。MessageProducer.setDisableMessageID または MessageProducer.setDisableMessageTimestamp メソッドによってこれらのヘッダーの設定が明示的に無効にされている場合、send メソッドが JMSMessageID および JMSTimeStamp を設定しない可能性があります。

    MessageProducer の作成は、QueueSender の作成と同じ機能を提供します。新しいコードを作成するときは、MessageProducer オブジェクトをお勧めします。QueueSender は、既存のコードをサポートするために提供されています。

    導入:
    JMS 1.0
    バージョン:
    Jakarta Messaging 2.0
    関連事項:
    MessageProducer, Session.createProducer(Destination), QueueSession.createSender(Queue)
    • メソッドの詳細

      • getQueue

        Queue getQueue()
                throws JMSException
        この QueueSender に関連付けられたキューを取得します。
        戻り値:
        この送信者のキュー
        例外:
        JMSException - 内部エラーのために Jakarta Messaging プロバイダーがこの QueueSender のキューの取得に失敗した場合
      • send

        void send​(Message message,
                  int deliveryMode,
                  int priority,
                  long timeToLive)
           throws JMSException
        配信モード、優先度、存続時間を指定して、メッセージをキューに送信します。
        次で指定:
        インターフェース MessageProducersend 
        パラメーター:
        message - 送信するメッセージ
        deliveryMode - 使用する配信モード
        priority - このメッセージの優先度
        timeToLive - メッセージの存続期間 (ミリ秒単位)
        例外:
        JMSException - 内部エラーのために Jakarta Messaging プロバイダーがメッセージの送信に失敗した場合。
        MessageFormatException - 無効なメッセージが指定された場合。
        InvalidDestinationException - クライアントが無効なキューを持つ QueueSender でこのメソッドを使用する場合。
        UnsupportedOperationExceptionSE - 作成時にキューを指定しなかった QueueSender でクライアントがこのメソッドを使用する場合。
        関連事項:
        Session.createProducer(jakarta.jms.Destination)
      • send

        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()
      • send

        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 - クライアントが無効なキューでこのメソッドを使用する場合。