パッケージ jakarta.jms

インターフェース JMSProducer


  • public interface JMSProducer
    JMSProducer は、JMSContext に代わってメッセージを送信するために使用される単純なオブジェクトです。JMSProducer のインスタンスは、JMSContext で createProducer メソッドを呼び出すことによって作成されます。指定された宛先にメッセージを送信するためのさまざまな send メソッドを提供します。また、メッセージまたはメッセージのセットを送信する前に、メッセージ送信オプション、メッセージプロパティ、メッセージヘッダーを指定できるようにするメソッドも提供します。

    メッセージ送信オプションは、次の 1 つ以上の方法を使用して指定できます: setDeliveryModesetPrioritysetTimeToLivesetDeliveryDelaysetDisableMessageTimestampsetDisableMessageIDsetAsync

    メッセージプロパティは、9 つの setProperty メソッドの 1 つ以上を使用して指定できます。これらのメソッドを使用して設定されたメッセージプロパティは、メッセージに直接設定されたメッセージプロパティを上書きします。

    メッセージヘッダーは、setJMSCorrelationIDsetJMSCorrelationIDAsBytessetJMSType または setJMSReplyTo の 1 つ以上の方法を使用して指定できます。これらのメソッドを使用して設定されたメッセージヘッダーは、メッセージに直接設定されたメッセージヘッダーを上書きします。

    上記のすべてのメソッドは JMSProducer を返し、メソッド呼び出しを連鎖させて、流動的なプログラミングスタイルを可能にします。例:

    context.createProducer().setDeliveryMode(DeliveryMode.NON_PERSISTENT).setTimeToLive(1000).send(destination、message);

    JMSProducer のインスタンスは、自由に作成でき、大量のリソースを消費しない軽量オブジェクトを対象としています。このインターフェースは close メソッドを提供しません。

    導入:
    JMS 2.0
    バージョン:
    Jakarta Messaging 2.0
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      JMSProducerclearProperties()
      この JMSProducer に設定されているメッセージプロパティをすべてクリアします
      CompletionListenergetAsync()
      この JMSProducer オブジェクトでの send への後続の呼び出しが非同期になるように構成されている場合、このメソッドは以前に構成された CompletionListener を返します。
      booleangetBooleanProperty​(StringSE name)
      この JMSProducer に設定され、boolean に変換された指定された名前のメッセージプロパティを返します。
      bytegetByteProperty​(StringSE name)
      この JMSProducer に設定され、String に変換された指定された名前のメッセージプロパティを返します。
      longgetDeliveryDelay()
      メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で取得します。
      intgetDeliveryMode()
      この JMSProducer を使用して送信されたメッセージの配信モードを返します
      booleangetDisableMessageID()
      メッセージ ID が無効になっているかどうかの指標を取得します。
      booleangetDisableMessageTimestamp()
      メッセージのタイムスタンプが無効になっているかどうかの指標を取得します。
      doublegetDoubleProperty​(StringSE name)
      この JMSProducer に設定され、double に変換された指定された名前のメッセージプロパティを返します。
      floatgetFloatProperty​(StringSE name)
      この JMSProducer に設定され、float に変換された指定された名前のメッセージプロパティを返します。
      intgetIntProperty​(StringSE name)
      この JMSProducer に設定され、int に変換された指定された名前のメッセージプロパティを返します。
      StringSEgetJMSCorrelationID()
      この JMSProducer に設定されている JMSCorrelationID ヘッダー値を String として返します。
      byte[]getJMSCorrelationIDAsBytes()
      この JMSProducer に設定されている JMSCorrelationID ヘッダー値をバイトの配列として返します。
      DestinationgetJMSReplyTo()
      この JMSProducer に設定されている JMSReplyTo ヘッダー値を返します。
      StringSEgetJMSType()
      この JMSProducer に設定されている JMSType ヘッダー値を返します。
      longgetLongProperty​(StringSE name)
      この JMSProducer に設定され、long に変換された指定された名前のメッセージプロパティを返します。
      ObjectSEgetObjectProperty​(StringSE name)
      この JMSProducer に設定され、オブジェクト化された形式に変換された、指定された名前のメッセージプロパティを返します。
      intgetPriority()
      この JMSProducer を使用して送信されるメッセージの優先度を返します
      SetSE<StringSE>getPropertyNames()
      この JMSProducer に設定されているすべてのメッセージプロパティの名前の変更不可能な Set ビューを返します。
      shortgetShortProperty​(StringSE name)
      この JMSProducer に設定され、short に変換された指定された名前のメッセージプロパティを返します。
      StringSEgetStringProperty​(StringSE name)
      この JMSProducer に設定され、String に変換された指定された名前のメッセージプロパティを返します。
      longgetTimeToLive()
      この JMSProducer を使用して送信されたメッセージの存続時間を返します。
      booleanpropertyExists​(StringSE name)
      指定された名前のメッセージプロパティがこの JMSProducer に設定されているかどうかを示します
      JMSProducersend​(Destination destination, byte[] body)
      この JMSProducer で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文の BytesMessage を指定された宛先に送信します。
      JMSProducersend​(Destination destination, Message message)
      この JMSProducer で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された宛先にメッセージを送信します。
      JMSProducersend​(Destination destination, SerializableSE body)
      この JMSProducer で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文の ObjectMessage を指定された宛先に送信します。
      JMSProducersend​(Destination destination, StringSE body)
      この JMSProducer で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文の TextMessage を指定された宛先に送信します。
      JMSProducersend​(Destination destination, MapSE<StringSE,​ObjectSE> body)
      この JMSProducer で定義されている送信オプション、メッセージプロパティ、メッセージヘッダーを使用して、指定された本文の MapMessage を指定された宛先に送信します。
      JMSProducersetAsync​(CompletionListener completionListener)
      この JMSProducer オブジェクトでの send への後続の呼び出しを同期にするか、非同期にするかを指定します。
      JMSProducersetDeliveryDelay​(long deliveryDelay)
      メッセージが送信されてから Jakarta Messaging プロバイダーがメッセージをコンシューマーに配信するまでに経過する必要がある最小時間をミリ秒単位で設定します。
      JMSProducersetDeliveryMode​(int deliveryMode)
      この JMSProducer を使用して送信されるメッセージの配信モードを指定します
      JMSProducersetDisableMessageID​(boolean value)
      この JMSProducer を使用して送信されるメッセージのメッセージ ID を無効にできるかどうかを指定します
      JMSProducersetDisableMessageTimestamp​(boolean value)
      この JMSProducer を使用して送信されるメッセージのメッセージタイムスタンプを無効にできるかどうかを指定します。
      JMSProducersetJMSCorrelationID​(StringSE correlationID)
      この JMSProducer を使用して送信されるメッセージの JMSCorrelationID ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID は String として指定されます。
      JMSProducersetJMSCorrelationIDAsBytes​(byte[] correlationID)
      この JMSProducer を使用して送信されるメッセージの JMSCorrelationID ヘッダー値が指定された相関 ID に設定されることを指定します。相関 ID はバイトの配列として指定されます。
      JMSProducersetJMSReplyTo​(Destination replyTo)
      この JMSProducer を使用して送信されるメッセージの JMSReplyTo ヘッダー値が指定された Destination オブジェクトに設定されることを指定します。
      JMSProducersetJMSType​(StringSE type)
      この JMSProducer を使用して送信されるメッセージの JMSType ヘッダー値が指定されたメッセージ型に設定されることを指定します。
      JMSProducersetPriority​(int priority)
      この JMSProducer を使用して送信されるメッセージの優先順位を指定します
      JMSProducersetProperty​(StringSE name, boolean value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された boolean 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, byte value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された byte 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, double value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された double 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, float value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された float 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, int value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された int 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, long value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された long 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, short value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された short 値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, ObjectSE value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された Java オブジェクト値に設定されることを指定します。
      JMSProducersetProperty​(StringSE name, StringSE value)
      この JMSProducer を使用して送信されるメッセージで、指定されたプロパティが指定された String 値に設定されることを指定します。
      JMSProducersetTimeToLive​(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 プロバイダーは CompletionListeneronException メソッドを呼び出してアプリケーションに通知します。

        Jakarta Messaging 仕様で許容される信頼性のレベルが低い場合、通常の同期送信では確認応答を待たないことがあります。その場合、非同期送信は同期送信と同様になることが予想されます。つまり、Jakarta Messaging プロバイダーはメッセージを リモート Jakarta Messaging サーバーに送信し、確認応答を待たずに戻ります。ただし、Jakarta Messaging プロバイダーは、アプリケーション指定の CompletionListener オブジェクトで onCompletion メソッドを呼び出すことにより、送信が完了したことをアプリケーションに通知します。

        以下に示す要件を満たしている限り、呼び出し元のスレッドで何を実行し、非同期で何を実行するかを正確に決定するのは Jakarta Messaging プロバイダーの責任です。

        サービス品質 : 送信操作が正常に完了した後、つまり通常の同期送信が実行された場合と同じ信頼度でメッセージが正常に送信された後、JMS プロバイダーは CompletionListeneronCompletion メソッドを呼び出す必要があります。これより前に CompletionListener を呼び出してはなりません。

        例外 : send メソッドの呼び出し中に例外が発生した場合は、send メソッドを呼び出しているスレッドで適切な例外がスローされる必要があります。この場合、Jakarta Messaging プロバイダーは CompletionListeneronCompletion または onException メソッドを呼び出してはなりません。send メソッドを呼び出しているスレッドでスローできない例外が発生した場合は、Jakarta Messaging プロバイダーは CompletionListeneronException メソッドを呼び出す必要があります。どちらの場合も、例外が発生した場合、メッセージが正常に送信されたかどうかは未定義です。

        メッセージの順序 : 同じ JMSContext を使用して複数のメッセージを送信する場合は、Jakarta Messaging メッセージの順序の要件を満たす必要があります。これは、同期送信と非同期送信の組み合わせが実行された場合でも適用されます。アプリケーションは、次のメッセージを送信する前に非同期送信が完了するのを待つ必要はありません。

        閉じる、コミット、ロールバック : JMSContext で close メソッドが呼び出された場合、JMS プロバイダーは、オブジェクトを閉じて戻る前に、不完全な送信操作が完了し、すべての CompletionListener コールバックが戻るまでブロックする必要があります。セッションがトランザクションされる(ローカルトランザクションを使用する)場合、JMSContextcommit または rollback メソッドが呼び出されると、JMS プロバイダーは、不完全な送信操作が完了し、コミットまたはロールバックを実行する前にすべての CompletionListener コールバックが返されるまでブロックする必要があります。エラーが発生しない限り、不完全な送信は正常に完了することが許可されている必要があります。

        CompletionListener コールバックメソッドはそれ自体の JMSContext 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 メソッドが返された後、アプリケーションは、CompletionListeneronCompletion または 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 オブジェクト値に設定されることを指定します。

        このメソッドは、オブジェクト化されたプリミティブオブジェクト型(IntegerDoubleLong ...)および 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)