インターフェース TopicPublisher
- すべてのスーパーインターフェース:
AutoCloseableSE,MessageProducer
TopicPublisher オブジェクトを使用して、トピックに関するメッセージを公開します。TopicPublisher オブジェクトは、メッセージプロデューサーのパブリッシュ / サブスクライブ形式です。 通常、Topic は、TopicPublisher の作成時に指定されます。この場合、識別されていない TopicPublisher に publish メソッドを使用しようとすると、java.lang.UnsupportedOperationException がスローされます。
識別されていない Topic を使用して TopicPublisher が作成された場合、Topic が識別されていると想定して publish メソッドを使用しようとすると、java.lang.UnsupportedOperationException がスローされます。
publish メソッドの実行中、メッセージはクライアント内の他のスレッドによって変更されてはなりません。メッセージが変更された場合、publish の結果は未定義です。
メッセージを公開した後、クライアントは、公開されたメッセージに影響を与えることなく、メッセージを保持および変更できます。同じメッセージオブジェクトが複数回公開される場合があります。
次のメッセージヘッダーは、メッセージの公開の一部として設定されます: JMSDestination、JMSDeliveryMode、JMSExpiration、JMSPriority、JMSMessageID、JMSTimeStamp。メッセージが公開されると、これらのヘッダーの値は無視されます。publish の完了後、ヘッダーはメッセージを公開するメソッドによって指定された値を保持します。MessageProducer.setDisableMessageID または MessageProducer.setDisableMessageTimestamp メソッドによってこれらのヘッダーの設定が明示的に無効にされている場合、publish メソッドが JMSMessageID および JMSTimeStamp を設定しない可能性があります。
MessageProducer の作成は、TopicPublisher の作成と同じ機能を提供します。新しいコードを作成するときは、MessageProducer オブジェクトをお勧めします。TopicPublisher は、既存のコードをサポートするために提供されています。
TopicPublisher は MessageProducer を継承するため、MessageProducer インターフェースの一部である send メソッドを継承します。send メソッドを使用すると、publish メソッドを使用した場合と同じ効果があります。関数には同じです。
- 導入:
- JMS 1.0
- バージョン:
- Jakarta Messaging 2.0
- 関連事項:
方法の概要
修飾子と型メソッド説明getTopic()このTopicPublisherに関連付けられているトピックを取得します。voidトピックにメッセージを公開します。void配信モード、優先度、有効期間を指定して、トピックにメッセージを発行します。void身元不明のメッセージプロデューサーのトピックにメッセージを発行します。void配信モード、優先度、有効期間を指定して、身元不明のメッセージプロデューサーのトピックにメッセージを発行します。インターフェース jakarta.jms.MessageProducer から継承されたメソッド
close, getDeliveryDelay, getDeliveryMode, getDestination, getDisableMessageID, getDisableMessageTimestamp, getPriority, getTimeToLive, send, send, send, send, send, send, send, send, setDeliveryDelay, setDeliveryMode, setDisableMessageID, setDisableMessageTimestamp, setPriority, setTimeToLive
メソッドの詳細
getTopic
このTopicPublisherに関連付けられているトピックを取得します。- 戻り値:
- このパブリッシャーのトピック
- 例外:
JMSException- Jakarta Messaging プロバイダーが、内部エラーのためにこのTopicPublisherのトピックを取得できない場合。
publish
トピックにメッセージを公開します。TopicPublisherのデフォルトの配信モード、優先度、存続時間を使用します。- パラメーター:
message- 公開するメッセージ- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックを持つTopicPublisherでこのメソッドを使用する場合。UnsupportedOperationExceptionSE- クライアントが、作成時にトピックを指定しなかったTopicPublisherでこのメソッドを使用する場合。- 関連事項:
publish
配信モード、優先度、有効期間を指定して、トピックにメッセージを発行します。- パラメーター:
message- 公開するメッセージdeliveryMode- 使用する配信モードpriority- このメッセージの優先度timeToLive- メッセージの存続期間 (ミリ秒単位)- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックを持つTopicPublisherでこのメソッドを使用する場合。UnsupportedOperationExceptionSE- クライアントが、作成時にトピックを指定しなかったTopicPublisherでこのメソッドを使用する場合。
publish
不明なメッセージプロデューサーのトピックにメッセージを公開します。TopicPublisherのデフォルトの配信モード、優先度、存続時間を使用します。通常、メッセージプロデューサーには作成時にトピックが割り当てられます。ただし、Jakarta Messaging API は、未確認のメッセージプロデューサーもサポートしているため、メッセージが公開されるたびにトピックを指定する必要があります。
- パラメーター:
topic- このメッセージを公開するトピックmessage- 公開するメッセージ- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックでこのメソッドを使用する場合。- 関連事項:
publish
void publish(Topic topic, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException 配信モード、優先度、有効期間を指定して、身元不明のメッセージプロデューサーのトピックにメッセージを発行します。通常、メッセージプロデューサーには作成時にトピックが割り当てられます。ただし、Jakarta Messaging API は、未確認のメッセージプロデューサーもサポートしているため、メッセージが公開されるたびにトピックを指定する必要があります。
- パラメーター:
topic- このメッセージを公開するトピックmessage- 公開するメッセージdeliveryMode- 使用する配信モードpriority- このメッセージの優先度timeToLive- メッセージの存続期間 (ミリ秒単位)- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックでこのメソッドを使用する場合。