インターフェース TopicPublisher
- すべてのスーパーインターフェース:
AutoCloseableSE,MessageProducer
public interface TopicPublisher extends 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
- 関連事項:
Session.createProducer(Destination),TopicSession.createPublisher(Topic)
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 TopicgetTopic()このTopicPublisherに関連付けられているトピックを取得します。voidpublish(Message message)トピックにメッセージを公開します。voidpublish(Message message, int deliveryMode, int priority, long timeToLive)配信モード、優先度、有効期間を指定して、トピックにメッセージを発行します。voidpublish(Topic topic, Message message)身元不明のメッセージプロデューサーのトピックにメッセージを発行します。voidpublish(Topic topic, Message message, int deliveryMode, int priority, long timeToLive)配信モード、優先度、有効期間を指定して、身元不明のメッセージプロデューサーのトピックにメッセージを発行します。インターフェース 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
Topic getTopic() throws JMSException
このTopicPublisherに関連付けられているトピックを取得します。- 戻り値:
- このパブリッシャーのトピック
- 例外:
JMSException- Jakarta Messaging プロバイダーが、内部エラーのためにこのTopicPublisherのトピックを取得できない場合。
publish
void publish(Message message) throws JMSException
トピックにメッセージを公開します。TopicPublisherのデフォルトの配信モード、優先度、存続時間を使用します。- パラメーター:
message- 公開するメッセージ- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックを持つTopicPublisherでこのメソッドを使用する場合。UnsupportedOperationExceptionSE- クライアントが、作成時にトピックを指定しなかったTopicPublisherでこのメソッドを使用する場合。- 関連事項:
MessageProducer.getDeliveryMode(),MessageProducer.getTimeToLive(),MessageProducer.getPriority()
publish
void publish(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException
配信モード、優先度、有効期間を指定して、トピックにメッセージを発行します。- パラメーター:
message- 公開するメッセージdeliveryMode- 使用する配信モードpriority- このメッセージの優先度timeToLive- メッセージの存続期間 (ミリ秒単位)- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックを持つTopicPublisherでこのメソッドを使用する場合。UnsupportedOperationExceptionSE- クライアントが、作成時にトピックを指定しなかったTopicPublisherでこのメソッドを使用する場合。
publish
void publish(Topic topic, Message message) throws JMSException
不明なメッセージプロデューサーのトピックにメッセージを公開します。TopicPublisherのデフォルトの配信モード、優先度、存続時間を使用します。通常、メッセージプロデューサーには作成時にトピックが割り当てられます。ただし、Jakarta Messaging API は、未確認のメッセージプロデューサーもサポートしているため、メッセージが公開されるたびにトピックを指定する必要があります。
- パラメーター:
topic- このメッセージを公開するトピックmessage- 公開するメッセージ- 例外:
JMSException- 内部エラーが原因で Jakarta Messaging プロバイダーがメッセージの公開に失敗した場合。MessageFormatException- 無効なメッセージが指定された場合。InvalidDestinationException- クライアントが無効なトピックでこのメソッドを使用する場合。- 関連事項:
MessageProducer.getDeliveryMode(),MessageProducer.getTimeToLive(),MessageProducer.getPriority()
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- クライアントが無効なトピックでこのメソッドを使用する場合。