インターフェース Session
- すべてのスーパーインターフェース:
AutoCloseableSE,RunnableSE
- すべての既知のサブインターフェース:
QueueSession、TopicSession、XAQueueSession、XASession、XATopicSession
Session オブジェクトは、メッセージを生成および消費するためのシングルスレッドコンテキストです。Java 仮想マシン(JVM)の外部にプロバイダーリソースを割り当てる場合がありますが、軽量の Jakarta Messaging オブジェクトと見なされます。セッションにはいくつかの目的があります。
- メッセージのプロデューサーとコンシューマーのファクトリです。
- プロバイダーに最適化されたメッセージファクトリを提供します。
TemporaryTopicsおよびTemporaryQueuesのファクトリです。- プロバイダー固有の宛先名を動的に操作する必要があるクライアント用に、
QueueまたはTopicオブジェクトを作成する方法を提供します。 - プロデューサーとコンシューマーにわたる作業をアトミックユニットに結合する単一の一連のトランザクションをサポートします。
- 消費するメッセージと生成するメッセージの順番を定義します。
- 確認されるまで、消費するメッセージを保持します。
- メッセージコンシューマーに登録されたメッセージリスナーの実行を直列化します。
QueueBrowsersのファクトリです。
セッションは、複数のメッセージのプロデューサーとコンシューマーを作成および処理できます。
典型的な使用箇所の 1 つは、メッセージが到着するまで、スレッドを同期 MessageConsumer でブロックすることです。次に、スレッドは Session の MessageProducer の 1 つ以上を使用できます。
クライアントが 1 つのスレッドにメッセージを生成させ、他のスレッドがメッセージを消費させたい場合、クライアントはその生成スレッドに別のセッションを使用する必要があります。
接続が開始されると、1 つ以上の登録済みメッセージリスナーとのセッションは、メッセージを配信する制御スレッド専用になります。クライアントコードがこのセッションまたは別の制御スレッドからの構成オブジェクトを使用するのは誤りです。この規則の唯一の例外は、セッションまたはメッセージコンシューマー close メソッドの使用です。
ほとんどのクライアントは、作業を自然にセッションに分割するのが簡単であるはずです。このモデルを使用すると、同時開始の必要性が高まるにつれて、クライアントはメッセージ処理の複雑さを単純かつ段階的に追加できます。
close メソッドは、他のセッションメソッドが別のスレッドで実行されている間に呼び出すことができる唯一のセッションメソッドです。
セッションはトランザクションとして指定できます。各トランザクションセッションは、単一の一連のトランザクションをサポートします。各トランザクションは、一連のメッセージ送信と一連のメッセージ受信をアトミックな作業単位にグループ化します。実際、トランザクションはセッションの入力メッセージストリームと出力メッセージストリームを一連のアトミックユニットに編成します。トランザクションがコミットされると、入力のアトミック単位が確認され、関連する出力のアトミック単位が送信されます。トランザクションのロールバックが行われると、トランザクションの送信メッセージが破棄され、セッションの入力が自動的に回復されます。
トランザクションの入力ユニットと出力ユニットの内容は、セッションの現在のトランザクション内で生成および消費されたメッセージです。
トランザクションは、セッションの commit メソッドまたはセッションの rollback メソッドのいずれかを使用して完了します。セッションの現在のトランザクションの補完は、自動的に次を開始します。その結果、トランザクションセッションには、常に作業が行われる現在のトランザクションがあります。
Java Transaction Service(JTS)または他のトランザクションモニターを使用して、セッションのトランザクションを他のリソース(データベース、他の Jakarta Messaging セッションなど)のトランザクションと組み合わせることができます。Java 分散トランザクションは Java Transaction API(JTA)を介して制御されるため、このコンテキストでのセッションの commit および rollback メソッドの使用は禁止されています。
Jakarta Messaging API は JTA のサポートを必要としません。ただし、プロバイダーがこのサポートを提供する方法を定義します。
Jakarta Messaging クライアントが分散トランザクションを直接処理することも可能ですが、多くの Jakarta Messaging クライアントがこれを実行することはほとんどありません。Jakarta Messaging API での JTA のサポートは、Jakarta Messaging API をアプリケーションサーバー製品に統合するシステムベンダーを対象としています。
- 導入:
- JMS 1.0
- バージョン:
- Jakarta Messaging 2.0
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intこの確認モードでは、セッションがreceiveへの呼び出しから正常に戻ったとき、またはメッセージを処理するためにセッションが呼び出したメッセージリスナーが戻ったときに、クライアントのメッセージ受信を自動的に確認します。static final intこの確認モードでは、クライアントはメッセージのacknowledgeメソッドを呼び出して、消費されたメッセージを確認します。static final intこの確認モードは、メッセージ配信の遅延確認をセッションに指示します。static final intこの値は、セッションがローカルトランザクションを使用するように指定するために、ConnectionオブジェクトのメソッドcreateSession(int sessionMode)に引数として渡すことができます。メソッドのサマリー
修飾子と型メソッド説明voidclose()セッションを閉じます。voidcommit()このトランザクションで実行されたすべてのメッセージをコミットし、現在保持されているロックを解放します。createBrowser(Queue queue) QueueBrowserオブジェクトを作成して、指定されたキューのメッセージを確認します。createBrowser(Queue queue, StringSE messageSelector) QueueBrowserオブジェクトを作成して、メッセージセレクターを使用して、指定されたキューのメッセージを確認します。BytesMessageオブジェクトを作成します。createConsumer(Destination destination) 指定された宛先のMessageConsumerを作成します。createConsumer(Destination destination, StringSE messageSelector) メッセージセレクターを使用して、指定した宛先のMessageConsumerを作成します。createConsumer(Destination destination, StringSE messageSelector, boolean noLocal) メッセージセレクターとnoLocalパラメーターを指定して、指定した宛先のMessageConsumerを作成します。createDurableConsumer(Topic topic, StringSE name) 指定されたトピックに共有されていない永続サブスクリプションを作成し(まだ存在しない場合)、その永続サブスクリプションにコンシューマーを作成します。createDurableConsumer(Topic topic, StringSE name, StringSE messageSelector, boolean noLocal) メッセージセレクターとnoLocalパラメーターを指定して、指定されたトピック(まだ存在しない場合)に非共有の永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。createDurableSubscriber(Topic topic, StringSE name) 指定されたトピックに共有されていない永続サブスクリプションを作成し(まだ存在しない場合)、その永続サブスクリプションにコンシューマーを作成します。createDurableSubscriber(Topic topic, StringSE name, StringSE messageSelector, boolean noLocal) メッセージセレクターとnoLocalパラメーターを指定して、指定されたトピック(まだ存在しない場合)に非共有の永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。MapMessageオブジェクトを作成します。Messageオブジェクトを作成します。ObjectMessageオブジェクトを作成します。createObjectMessage(SerializableSE object) 初期化されたObjectMessageオブジェクトを作成します。createProducer(Destination destination) 指定された宛先にメッセージを送信するためのMessageProducerを作成します。createQueue(StringSE queueName) 指定されたプロバイダー固有のキュー名をカプセル化するQueueオブジェクトを作成します。createSharedConsumer(Topic topic, StringSE sharedSubscriptionName) 指定されたトピックに指定された名前で共有の非永続サブスクリプションを作成し(まだ存在しない場合)、そのサブスクリプションにコンシューマーを作成します。createSharedConsumer(Topic topic, StringSE sharedSubscriptionName, StringSE messageSelector) メッセージセレクターを指定して、指定されたトピック(指定されていない場合)に指定された名前で共有の非永続サブスクリプションを作成し、そのサブスクリプションにコンシューマーを作成します。createSharedDurableConsumer(Topic topic, StringSE name) メッセージセレクターとnoLocalパラメーターを指定して、指定されたトピック(まだ存在しない場合)に共有永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。createSharedDurableConsumer(Topic topic, StringSE name, StringSE messageSelector) メッセージセレクターを指定して、指定されたトピック(まだ存在しない場合)に共有永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。StreamMessageオブジェクトを作成します。TemporaryQueueオブジェクトを作成します。TemporaryTopicオブジェクトを作成します。TextMessageオブジェクトを作成します。createTextMessage(StringSE text) 初期化されたTextMessageオブジェクトを作成します。createTopic(StringSE topicName) 指定されたプロバイダー固有のトピック名をカプセル化するTopicオブジェクトを作成します。intセッションの確認応答モードを返します。セッションの識別されたメッセージリスナーを返します(オプション)。booleanセッションがトランザクションモードであるかどうかを示します。voidrecover()このセッションでのメッセージ配信を停止し、最も古い未確認のメッセージでメッセージ配信を再開します。voidrollback()このトランザクションで実行されたメッセージをロールバックし、現在保持されているロックを解放します。voidrun()オプションの操作。通常の Jakarta Messaging クライアントではなく、アプリケーションサーバーでのみ使用することを目的としています。voidsetMessageListener(MessageListener listener) セッションの識別メッセージリスナーを設定します(オプション)。voidunsubscribe(StringSE name) クライアントによって作成された永続サブスクリプションを登録解除します。
フィールドの詳細
AUTO_ACKNOWLEDGE
static final int AUTO_ACKNOWLEDGEこの確認モードでは、セッションがreceiveへの呼び出しから正常に戻ったとき、またはメッセージを処理するためにセッションが呼び出したメッセージリスナーが戻ったときに、クライアントのメッセージ受信を自動的に確認します。- 関連事項:
CLIENT_ACKNOWLEDGE
static final int CLIENT_ACKNOWLEDGEこの確認モードでは、クライアントはメッセージのacknowledgeメソッドを呼び出すことにより、消費されたメッセージを確認します。消費されたメッセージを確認すると、セッションが消費したすべてのメッセージが確認されます。クライアント確認応答モードが使用されている場合、クライアントは、メッセージの処理を試行中に、未確認のメッセージを大量に蓄積する可能性があります。Jakarta Messaging プロバイダーは、クライアントのオーバーランを制限する方法を管理者に提供する必要があります。これにより、クライアントが使用しているリソースが一時的にブロックされている場合に、クライアントがリソースの枯渇とその後の障害に追い込まれないようにします。
DUPS_OK_ACKNOWLEDGE
static final int DUPS_OK_ACKNOWLEDGEこの確認応答モードは、メッセージの配信を遅延して確認応答するようにセッションに指示します。これにより、Jakarta Messaging プロバイダーに障害が発生した場合に一部の重複メッセージが配信される可能性があるため、重複メッセージを許容できるコンシューマーのみが使用する必要があります。このモードを使用すると、セッションが重複を防ぐために行う作業を最小限に抑えることで、セッションのオーバーヘッドを減らすことができます。- 関連事項:
SESSION_TRANSACTED
static final int SESSION_TRANSACTEDこの値は、セッションがローカルトランザクションを使用するように指定するために、ConnectionオブジェクトのメソッドcreateSession(int sessionMode)に引数として渡すことができます。この値は、セッションがローカルトランザクションを使用している場合、メソッド
createSession(int sessionMode)またはメソッドcreateSession(boolean transacted, int acknowledgeMode)のどちらを呼び出してセッションが作成されたかに関係なく、メソッドgetAcknowledgeModeから返されます。- 導入:
- JMS 1.1
- 関連事項:
メソッドの詳細
createBytesMessage
BytesMessageオブジェクトを作成します。BytesMessageオブジェクトは、未解釈のバイトのストリームを含むメッセージを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
BytesMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createMapMessage
MapMessageオブジェクトを作成します。MapMessageオブジェクトは、名前と値のペアの自己定義セットを送信するために使用されます。ここで、名前はStringオブジェクトであり、値は Java プログラミング言語のプリミティブ値です。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
MapMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createMessage
Messageオブジェクトを作成します。Messageインターフェースは、すべての Jakarta Messaging メッセージのルートインターフェースです。Messageオブジェクトは、すべての標準メッセージヘッダー情報を保持します。ヘッダー情報のみを含むメッセージで十分な場合に送信できます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
Messageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createObjectMessage
ObjectMessageオブジェクトを作成します。ObjectMessageオブジェクトは、シリアライズ可能な Java オブジェクトを含むメッセージを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
ObjectMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createObjectMessage
初期化されたObjectMessageオブジェクトを作成します。ObjectMessageオブジェクトは、シリアライズ可能な Java オブジェクトを含むメッセージを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- パラメーター:
object- このメッセージを初期化するために使用するオブジェクト- 戻り値:
ObjectMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createStreamMessage
StreamMessageオブジェクトを作成します。StreamMessageオブジェクトは、Java プログラミング言語でプリミティブ値の自己定義ストリームを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
StreamMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createTextMessage
TextMessageオブジェクトを作成します。TextMessageオブジェクトは、Stringオブジェクトを含むメッセージを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- 戻り値:
TextMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
createTextMessage
初期化されたTextMessageオブジェクトを作成します。TextMessageオブジェクトは、Stringを含むメッセージを送信するために使用されます。返されるメッセージオブジェクトは、
SessionまたはJMSContextを使用して送信できます。作成に使用されたJMSContextを使用して送信されることに限定されません。返されたメッセージオブジェクトは、作成に使用された Jakarta Messaging プロバイダーで使用するために最適化されている場合があります。ただし、作成に使用した Jakarta Messaging プロバイダーだけでなく、任意の Jakarta Messaging プロバイダーを使用して送信できます。
- パラメーター:
text- このメッセージを初期化するために使用される文字列- 戻り値:
TextMessageオブジェクト。- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがこのメッセージの作成に失敗した場合。
getTransacted
セッションがトランザクションモードであるかどうかを示します。- 戻り値:
- セッションがトランザクションモードの場合は true
- 例外:
JMSException- Jakarta Messaging プロバイダーが内部エラーのためにトランザクションモードを返せなかった場合
getAcknowledgeMode
セッションの確認応答モードを返します。確認応答モードは、セッションの作成時に設定されます。セッションが処理されると、確認応答モードは無視されます。- 戻り値:
- セッションが処理されない場合、セッションの現在の確認応答モードを返します。セッションがトランザクション処理される場合、SESSION_TRANSACTED を返します。
- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーが確認応答モードを返せなかった場合。- 導入:
- JMS 1.1
- 関連事項:
commit
このトランザクションで実行されたすべてのメッセージをコミットし、現在保持されているロックを解放します。この Session の不完全な非同期送信操作が完了し、 CompletionListener コールバックが返されるまで、このメソッドは返ってはなりません。エラーが発生しない限り、不完全な送信は正常に完了できるようにする必要があります。
CompletionListener コールバックメソッドは、独自の Session で commit を呼び出さないでください。これを行うと、 IllegalStateException がスローされます。
- 例外:
IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのコミットに失敗した場合。TransactionRolledBackException- コミット中に何らかの内部エラーが発生してトランザクションがロールバックされた場合。
rollback
このトランザクションで実行されたメッセージをロールバックし、現在保持されているロックを解放します。この Session の不完全な非同期送信操作が完了し、 CompletionListener コールバックが返されるまで、このメソッドは返ってはなりません。エラーが発生しない限り、不完全な送信は正常に完了できるようにする必要があります。
CompletionListener コールバックメソッドは、独自の Session で commit を呼び出さないでください。これを行うと、 IllegalStateException がスローされます。
- 例外:
IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのロールバックに失敗した場合。
close
セッションを閉じます。プロバイダーは JVM の外部のセッションに代わって一部のリソースを割り当てる可能性があるため、クライアントは必要のないときにリソースを閉じる必要があります。これらのリソースを最終的に再利用するためにガベージコレクションに依存することは、十分なタイミングではない場合があります。
閉じられたセッションのプロデューサーとコンシューマーを閉じる必要はありません。
この呼び出しは、進行中の
receive呼び出しまたはメッセージリスナーが完了するまでブロックされます。ブロックされたメッセージコンシューマーのreceive呼び出しは、このセッションが閉じられるとnullを返します。ただし、close メソッドが独自の
Sessionでメッセージリスナーから呼び出された場合、失敗してjakarta.jms.IllegalStateExceptionをスローするか、成功してSessionを閉じ、保留中の受信呼び出しが完了するまでブロックします。クローズが成功し、Sessionの確認応答モードがAUTO_ACKNOWLEDGEに設定されている場合、onMessage呼び出しが完了すると、現在のメッセージは引き続き自動的に確認応答されます。この場合、2 つの代替動作が許可されているため、移植性がないため、アプリケーションは独自の
Sessionでメッセージリスナーから close を呼び出すことを避ける必要があります。この Session の不完全な非同期送信操作が完了し、 CompletionListener コールバックが返されるまで、このメソッドは返ってはなりません。エラーが発生しない限り、不完全な送信は正常に完了できるようにする必要があります。
誤解を避けるために、
closeが呼び出されたときにこのセッションの接続の例外リスナーが実行されている場合、close呼び出しが、例外リスナーが戻るまで待機してから戻る必要はありません。トランザクションセッションを閉じると、進行中のトランザクションをロールバックする必要があります。
このメソッドは、同時に呼び出すことができる唯一の
Sessionメソッドです。CompletionListener コールバックメソッドは、独自の Session で close を呼び出さないでください。これを行うと、 IllegalStateException がスローされます。
閉じたセッションで他の
Sessionメソッドを呼び出すと、IllegalStateExceptionがスローされます。閉じたセッションを閉じても例外はスローされません。- 次で指定:
- インターフェース
AutoCloseableSEのclose - 例外:
IllegalStateException-- このメソッドは、独自の Session の MessageListener によって呼び出されました
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがセッションを閉じることができない場合。
recover
このセッションでのメッセージ配信を停止し、最も古い未確認のメッセージでメッセージ配信を再開します。すべてのコンシューマーはメッセージをシリアル順に配信します。受信したメッセージを確認すると、クライアントに配信されたすべてのメッセージが自動的に確認されます。
セッションを再開すると、次のアクションが実行されます。
- メッセージの配信を停止する
- 配信された可能性があるが、「再配信された」として確認されていないすべてのメッセージにマークを付ける
- 以前に配信されたすべての未確認メッセージを含む配信シーケンスを再開します。再配信されたメッセージは、正確に元の配信順序で配信される必要はありません。
- 例外:
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがメッセージ配信の停止と再開に失敗した場合IllegalStateException- メソッドがトランザクションセッションによって呼び出された場合。
getMessageListener
セッションの識別されたメッセージリスナーを返します(オプション)。このメソッドは、Jakarta EE Web または EJB アプリケーションでは使用しないでください。保証されていませんが、
JMSExceptionがスローされる可能性があります。- 戻り値:
- このセッションに関連付けられている識別されたメッセージリスナー
- 例外:
JMSException- Jakarta Messaging プロバイダーが次のいずれかの理由でセッションの識別されたメッセージリスナーの取得に失敗した場合:- 内部エラーが発生
- このメソッドは Jakarta EE Web または EJB アプリケーションで呼び出されました (この場合、例外がスローされることは保証されていませんが)
- 関連事項:
setMessageListener
セッションの識別メッセージリスナーを設定します(オプション)。識別メッセージリスナーが設定されている場合、セッションで他の形式のメッセージ受信を使用することはできません。ただし、メッセージ送信のすべての形式は引き続きサポートされています。
これは、通常の Jakarta Messaging クライアントでは使用されないエキスパート機能です。
このメソッドは、Jakarta EE Web または EJB アプリケーションでは使用しないでください。保証されていませんが、
JMSExceptionがスローされる可能性があります。- パラメーター:
listener- このセッションに関連付けるメッセージリスナー- 例外:
JMSException- Jakarta Messaging プロバイダーが次のいずれかの理由でセッションの識別メッセージリスナーの設定に失敗した場合:- 内部エラーが発生
- このメソッドは Jakarta EE Web または EJB アプリケーションで呼び出されました (この場合、例外がスローされることは保証されていませんが)
- 関連事項:
run
void run()オプションの操作。通常の Jakarta Messaging クライアントではなく、アプリケーションサーバーでのみ使用することを目的としています。このメソッドは、Jakarta EE Web または EJB アプリケーションでは使用しないでください。保証されていませんが、
JMSRuntimeExceptionがスローされる可能性があります。- 次で指定:
- インターフェース
RunnableSEのrun - 例外:
JMSRuntimeException- このメソッドが Jakarta EE Web または EJB アプリケーションで呼び出された場合 (この場合、例外がスローされることは保証されていませんが)- 関連事項:
createProducer
指定された宛先にメッセージを送信するためのMessageProducerを作成します。クライアントは
MessageProducerオブジェクトを使用して宛先にメッセージを送信します。QueueとTopicはどちらもDestinationから継承するため、これらを宛先パラメーターで使用してMessageProducerオブジェクトを作成できます。- パラメーター:
destination- 送信先のDestination。これが指定された宛先を持たないプロデューサーの場合は null- 戻り値:
- メッセージを送信する
MessageProducer。 - 例外:
JMSException- 内部エラーのためにセッションが MessageProducer の作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合。- 導入:
- JMS 1.1
createConsumer
指定された宛先のMessageConsumerを作成します。QueueとTopicはどちらもDestinationから継承するため、これらを宛先パラメーターで使用してMessageConsumerを作成できます。- パラメーター:
destination- アクセスするDestination- 戻り値:
- 指定された宛先の
MessageConsumer。 - 例外:
JMSException- 内部エラーのためにセッションがコンシューマーの作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合。- 導入:
- JMS 1.1
createConsumer
MessageConsumer createConsumer(Destination destination, StringSE messageSelector) throws JMSException メッセージセレクターを使用して、指定した宛先のMessageConsumerを作成します。QueueとTopicはどちらもDestinationから継承するため、これらを宛先パラメーターで使用してMessageConsumerを作成できます。クライアントは、
MessageConsumerオブジェクトを使用して、宛先に送信されたメッセージを受信します。- パラメーター:
destination- アクセスするDestinationmessageSelector- メッセージセレクター式に一致するプロパティを持つメッセージのみが配信されます。null または空の文字列の値は、メッセージコンシューマーにメッセージセレクタがないことを示します。- 戻り値:
- 指定された宛先の
MessageConsumer。 - 例外:
JMSException- 内部エラーのためにセッションが MessageConsumer の作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合。InvalidSelectorException- メッセージセレクタが無効な場合。- 導入:
- JMS 1.1
createConsumer
MessageConsumer createConsumer(Destination destination, StringSE messageSelector, boolean noLocal) throws JMSException メッセージセレクターとnoLocalパラメーターを指定して、指定した宛先のMessageConsumerを作成します。QueueとTopicはどちらもDestinationを継承しているため、これらを宛先パラメーターで使用してMessageConsumerを作成できます。クライアントは、
MessageConsumerオブジェクトを使用して、宛先にパブリッシュされたメッセージを受信します。noLocal引数は、宛先がトピックであり、セッションの接続がそのトピックへのメッセージのパブリッシュにも使用されている場合に使用されます。noLocalが true に設定されている場合、MessageConsumerは独自の接続によってトピックに公開されたメッセージを受信しません。この引数のデフォルト値は false です。宛先がキューの場合、noLocalを true に設定した場合の効果は指定されていません。- パラメーター:
destination- アクセスするDestinationmessageSelector- メッセージセレクター式に一致するプロパティを持つメッセージのみが配信されます。null または空の文字列の値は、メッセージコンシューマーにメッセージセレクタがないことを示します。noLocal- -true で、宛先がトピックの場合、MessageConsumerは独自の接続によってトピックに公開されたメッセージを受信しません。- 戻り値:
- 指定された宛先の
MessageConsumer。 - 例外:
JMSException- 内部エラーのためにセッションが MessageConsumer の作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合。InvalidSelectorException- メッセージセレクタが無効な場合。- 導入:
- JMS 1.1
createQueue
指定されたプロバイダー固有のキュー名をカプセル化するQueueオブジェクトを作成します。アプリケーションでプロバイダー固有のキュー名を使用すると、アプリケーションが移植不可能になる場合があります。ポータブルアプリケーションでは、このメソッドを使用せずに、JNDI を使用して管理上定義された
Queueオブジェクトを検索することをお勧めします。このメソッドは、キューの名前をカプセル化するオブジェクトを作成するだけであることに注意してください。Jakarta Messaging プロバイダーで物理キューを作成しません。これは特定の Jakarta Messaging プロバイダーに固有であるため、Jakarta Messaging は物理キューを作成する方法を提供しません。物理キューの作成はプロバイダー固有であり、通常は管理者が実行する管理タスクですが、一部のプロバイダーは必要に応じて自動的に作成する場合があります。これに対する 1 つの例外は、一時的なキューの作成です。これは、
createTemporaryQueueメソッドを使用して行われます。- パラメーター:
queueName- プロバイダー固有のキュー名- 戻り値:
- 指定された名前をカプセル化する Queue オブジェクト
- 例外:
JMSException- 内部エラーのために Queue オブジェクトを作成できない場合
createTopic
指定されたプロバイダー固有のトピック名をカプセル化するTopicオブジェクトを作成します。アプリケーションでプロバイダー固有のトピック名を使用すると、アプリケーションが移植できなくなる場合があります。ポータブルアプリケーションでは、このメソッドを使用せずに、JNDI を使用して管理上定義された
Topicオブジェクトを検索することをお勧めします。このメソッドは、トピックの名前をカプセル化するオブジェクトを作成するだけであることに注意してください。Jakarta Messaging プロバイダーで物理トピックを作成しません。これは特定の Jakarta Messaging プロバイダーに固有であるため、Jakarta Messaging は物理トピックを作成する方法を提供しません。物理トピックの作成はプロバイダー固有であり、通常は管理者が実行する管理タスクですが、一部のプロバイダーは必要に応じて自動的に作成する場合があります。これに対する 1 つの例外は、一時的なトピックの作成です。これは、
createTemporaryTopicメソッドを使用して行われます。- パラメーター:
topicName- プロバイダー固有のトピック名- 戻り値:
- 指定された名前をカプセル化する Topic オブジェクト
- 例外:
JMSException- 内部エラーのためにトピックオブジェクトを作成できない場合
createDurableSubscriber
指定されたトピックに非共有の永続サブスクリプションを作成し(まだ存在しない場合)、その永続サブスクリプションにコンシューマーを作成します。このメソッドは、メッセージセレクターなしでnoLocal値がfalseの永続サブスクリプションを作成します。永続サブスクリプションは、アクティブなコンシューマーが関連付けられていないときにパブリッシュされたメッセージを含め、トピックでパブリッシュされたすべてのメッセージを受信する必要があるアプリケーションによって使用されます。Jakarta Messaging プロバイダーは、この永続サブスクリプションの記録を保持し、トピックのパブリッシャーからのすべてのメッセージが、この永続サブスクリプションのコンシューマーに配信されて確認されるまで、または期限が切れるまで保持されるようにします。
永続サブスクリプションは、
unsubscribeメソッドを使用して削除されるまでメッセージを蓄積し続けます。このメソッドは、非共有の永続サブスクリプションでのみ使用できます。このメソッドを使用して作成された永続サブスクリプションは共有解除されます。これは、サブスクリプション上に同時に存在できるアクティブな(つまり、クローズされていない)コンシューマーは 1 つだけであることを意味します。ここでの「コンシューマー」という用語は、任意のクライアントの
TopicSubscriber、MessageConsumer、JMSConsumerオブジェクトを意味します。非共有の永続サブスクリプションは、クライアントによって指定された名前と、設定する必要があるクライアント識別子によって識別されます。その後、非共有の永続サブスクリプションでコンシューマーを作成することを望むアプリケーションは、同じクライアント識別子を使用する必要があります。
同じ名前とクライアント識別子を持つ非共有の永続サブスクリプションがすでに存在し、同じトピック、メッセージセレクター、
noLocal値が指定されており、永続サブスクリプションですでにアクティブな(つまり閉じていない)コンシューマーがない場合、このメソッドは既存の永続サブスクリプションのTopicSubscriber。非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、永続サブスクリプションですでにアクティブな(つまり、閉じられていない)コンシューマーが存在する場合、
JMSExceptionがスローされます。同じ名前とクライアント ID を持つ非共有の永続サブスクリプションがすでに存在しているが、トピック、メッセージセレクター、
noLocal値が異なる場合、永続サブスクリプションでアクティブな(つまり閉じていない)コンシューマーがない場合、これはサブスクライブ解除と同じです。(削除)古いものを作成し、新しいものを作成します。共有恒久サブスクリプションと非共有恒久サブスクリプションは、同じ名前とクライアント識別子を持つことはできません。同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合、
JMSExceptionがスローされます。同じ名前と clientId を持つ永続サブスクリプションと共有非永続サブスクリプションには制限はありません。このようなサブスクリプションは完全に別々になります。
このメソッドは、コンシューマーを表すために
MessageConsumerではなくTopicSubscriberを返すことを除いて、対応するcreateDurableConsumerメソッドと同じです。- パラメーター:
topic- サブスクライブする非一時的なTopicname- このサブスクリプションを識別するために使用される名前- 戻り値:
- 指定されたトピックの非共有永続サブスクリプション。
- 例外:
InvalidDestinationException- 無効なトピックが指定された場合。IllegalStateException- クライアント識別子が設定されていない場合JMSException-- 内部エラーのためにセッションが非共有の永続サブスクリプションと
TopicSubscriberの作成に失敗した場合 - 非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、すでにアクティブなコンシューマーがある場合
- 同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合
- 内部エラーのためにセッションが非共有の永続サブスクリプションと
- 導入:
- JMS 1.1
createDurableSubscriber
TopicSubscriber createDurableSubscriber(Topic topic, StringSE name, StringSE messageSelector, boolean noLocal) throws JMSException メッセージセレクターとnoLocalパラメーターを指定して、指定されたトピック(まだ存在しない場合)に非共有の永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。永続サブスクリプションは、アクティブなコンシューマーが関連付けられていないときにパブリッシュされたメッセージを含め、トピックでパブリッシュされたすべてのメッセージを受信する必要があるアプリケーションによって使用されます。Jakarta Messaging プロバイダーは、この永続サブスクリプションの記録を保持し、トピックのパブリッシャーからのすべてのメッセージが、この永続サブスクリプションのコンシューマーに配信されて確認されるまで、または期限が切れるまで保持されるようにします。
永続サブスクリプションは、
unsubscribeメソッドを使用して削除されるまでメッセージを蓄積し続けます。このメソッドは、非共有の永続サブスクリプションでのみ使用できます。このメソッドを使用して作成された永続サブスクリプションは共有解除されます。これは、サブスクリプション上に同時に存在できるアクティブな(つまり、クローズされていない)コンシューマーは 1 つだけであることを意味します。ここでの「コンシューマー」という用語は、任意のクライアントの
TopicSubscriber、MessageConsumer、JMSConsumerオブジェクトを意味します。非共有の永続サブスクリプションは、クライアントによって指定された名前と、設定する必要があるクライアント識別子によって識別されます。その後、非共有の永続サブスクリプションでコンシューマーを作成することを望むアプリケーションは、同じクライアント識別子を使用する必要があります。
同じ名前とクライアント識別子を持つ非共有の永続サブスクリプションがすでに存在し、同じトピック、メッセージセレクター、
noLocal値が指定されており、永続サブスクリプションですでにアクティブな(つまり閉じていない)コンシューマーがない場合、このメソッドは既存の永続サブスクリプションのTopicSubscriber。非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、永続サブスクリプションですでにアクティブな(つまり、閉じられていない)コンシューマーが存在する場合、
JMSExceptionがスローされます。同じ名前とクライアント ID を持つ非共有の永続サブスクリプションがすでに存在しているが、トピック、メッセージセレクター、
noLocal値が異なる場合、永続サブスクリプションでアクティブな(つまり閉じていない)コンシューマーがない場合、これはサブスクライブ解除と同じです。(削除)古いものを作成し、新しいものを作成します。noLocalが true に設定されている場合、このセッションの接続、同じクライアント識別子を持つその他の接続を使用してトピックにパブリッシュされたメッセージは、永続サブスクリプションに追加されません。共有恒久サブスクリプションと非共有恒久サブスクリプションは、同じ名前とクライアント識別子を持つことはできません。同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合、
JMSExceptionがスローされます。同じ名前と clientId を持つ永続サブスクリプションと共有非永続サブスクリプションには制限はありません。このようなサブスクリプションは完全に別々になります。
このメソッドは、コンシューマーを表すために
MessageConsumerではなくTopicSubscriberを返すことを除いて、対応するcreateDurableConsumerメソッドと同じです。- パラメーター:
topic- サブスクライブする非一時的なTopicname- このサブスクリプションを識別するために使用される名前messageSelector- メッセージセレクター式に一致するプロパティを持つメッセージのみが永続サブスクリプションに追加されます。null または空の文字列の値は、永続サブスクリプションにメッセージセレクタがないことを示します。noLocal- true の場合、このセッションの接続、同じクライアント識別子を持つその他の接続を使用してトピックにパブリッシュされたメッセージは、永続サブスクリプションに追加されません。- 戻り値:
- 指定されたトピックの非共有永続サブスクリプション。
- 例外:
InvalidDestinationException- 無効なトピックが指定された場合。InvalidSelectorException- メッセージセレクタが無効な場合。IllegalStateException- クライアント識別子が設定されていない場合JMSException-- 内部エラーのためにセッションが非共有の永続サブスクリプションと
TopicSubscriberの作成に失敗した場合 - 非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、すでにアクティブなコンシューマーがある場合
- 同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合
- 内部エラーのためにセッションが非共有の永続サブスクリプションと
- 導入:
- JMS 1.1
createDurableConsumer
指定されたトピックに非共有の永続サブスクリプションを作成し(まだ存在しない場合)、その永続サブスクリプションにコンシューマーを作成します。このメソッドは、メッセージセレクターなしでnoLocal値がfalseの永続サブスクリプションを作成します。永続サブスクリプションは、アクティブなコンシューマーが関連付けられていないときにパブリッシュされたメッセージを含め、トピックでパブリッシュされたすべてのメッセージを受信する必要があるアプリケーションによって使用されます。Jakarta Messaging プロバイダーは、この永続サブスクリプションの記録を保持し、トピックのパブリッシャーからのすべてのメッセージが、この永続サブスクリプションのコンシューマーに配信されて確認されるまで、または期限が切れるまで保持されるようにします。
永続サブスクリプションは、
unsubscribeメソッドを使用して削除されるまでメッセージを蓄積し続けます。このメソッドは、非共有の永続サブスクリプションでのみ使用できます。このメソッドを使用して作成された永続サブスクリプションは共有解除されます。これは、サブスクリプション上に同時に存在できるアクティブな(つまり、クローズされていない)コンシューマーは 1 つだけであることを意味します。ここでの「コンシューマー」という用語は、任意のクライアントの
TopicSubscriber、MessageConsumer、JMSConsumerオブジェクトを意味します。非共有の永続サブスクリプションは、クライアントによって指定された名前と、設定する必要があるクライアント識別子によって識別されます。その後、非共有の永続サブスクリプションでコンシューマーを作成することを望むアプリケーションは、同じクライアント識別子を使用する必要があります。
同じ名前とクライアント識別子を持つ非共有の永続サブスクリプションがすでに存在し、同じトピック、メッセージセレクター、
noLocal値が指定されており、永続サブスクリプションですでにアクティブな(つまり閉じていない)コンシューマーがない場合、このメソッドは既存の永続サブスクリプションのMessageConsumer。非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、永続サブスクリプションですでにアクティブな(つまり、閉じられていない)コンシューマーが存在する場合、
JMSExceptionがスローされます。同じ名前とクライアント ID を持つ非共有の永続サブスクリプションがすでに存在しているが、トピック、メッセージセレクター、
noLocal値が異なる場合、永続サブスクリプションでアクティブな(つまり閉じていない)コンシューマーがない場合、これはサブスクライブ解除と同じです。(削除)古いものを作成し、新しいものを作成します。共有恒久サブスクリプションと非共有恒久サブスクリプションは、同じ名前とクライアント識別子を持つことはできません。同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合、
JMSExceptionがスローされます。同じ名前と clientId を持つ永続サブスクリプションと共有非永続サブスクリプションには制限はありません。このようなサブスクリプションは完全に別々になります。
このメソッドは、コンシューマーを表すために
TopicSubscriberではなくMessageConsumerを返すことを除いて、対応するcreateDurableSubscriberメソッドと同じです。- パラメーター:
topic- サブスクライブする非一時的なTopicname- このサブスクリプションを識別するために使用される名前- 戻り値:
- 指定されたトピックの非共有永続サブスクリプション。
- 例外:
InvalidDestinationException- 無効なトピックが指定された場合。IllegalStateException- クライアント識別子が設定されていない場合JMSException-- 内部エラーのためにセッションが非共有の永続サブスクリプションと
MessageConsumerの作成に失敗した場合 - 非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、すでにアクティブなコンシューマーがある場合
- 同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合
- 内部エラーのためにセッションが非共有の永続サブスクリプションと
- 導入:
- JMS 2.0
createDurableConsumer
MessageConsumer createDurableConsumer(Topic topic, StringSE name, StringSE messageSelector, boolean noLocal) throws JMSException メッセージセレクターとnoLocalパラメーターを指定して、指定されたトピック(まだ存在しない場合)に非共有の永続サブスクリプションを作成し、その永続サブスクリプションにコンシューマーを作成します。永続サブスクリプションは、アクティブなコンシューマーが関連付けられていないときにパブリッシュされたメッセージを含め、トピックでパブリッシュされたすべてのメッセージを受信する必要があるアプリケーションによって使用されます。Jakarta Messaging プロバイダーは、この永続サブスクリプションの記録を保持し、トピックのパブリッシャーからのすべてのメッセージが、この永続サブスクリプションのコンシューマーに配信されて確認されるまで、または期限が切れるまで保持されるようにします。
永続サブスクリプションは、
unsubscribeメソッドを使用して削除されるまでメッセージを蓄積し続けます。このメソッドは、非共有の永続サブスクリプションでのみ使用できます。このメソッドを使用して作成された永続サブスクリプションは共有解除されます。これは、サブスクリプション上に同時に存在できるアクティブな(つまり、クローズされていない)コンシューマーは 1 つだけであることを意味します。ここでの「コンシューマー」という用語は、任意のクライアントの
TopicSubscriber、MessageConsumer、JMSConsumerオブジェクトを意味します。非共有の永続サブスクリプションは、クライアントによって指定された名前と、設定する必要があるクライアント識別子によって識別されます。その後、非共有の永続サブスクリプションでコンシューマーを作成することを望むアプリケーションは、同じクライアント識別子を使用する必要があります。
同じ名前とクライアント識別子を持つ非共有の永続サブスクリプションがすでに存在し、同じトピック、メッセージセレクター、
noLocal値が指定されており、永続サブスクリプションですでにアクティブな(つまり閉じていない)コンシューマーがない場合、このメソッドは既存の永続サブスクリプションのMessageConsumer。非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、永続サブスクリプションですでにアクティブな(つまり、閉じられていない)コンシューマーが存在する場合、
JMSExceptionがスローされます。同じ名前とクライアント ID を持つ非共有の永続サブスクリプションがすでに存在しているが、トピック、メッセージセレクター、
noLocal値が異なる場合、永続サブスクリプションでアクティブな(つまり閉じていない)コンシューマーがない場合、これはサブスクライブ解除と同じです。(削除)古いものを作成し、新しいものを作成します。noLocalが true に設定されている場合、このセッションの接続、同じクライアント識別子を持つその他の接続を使用してトピックにパブリッシュされたメッセージは、永続サブスクリプションに追加されません。共有恒久サブスクリプションと非共有恒久サブスクリプションは、同じ名前とクライアント識別子を持つことはできません。同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合、
JMSExceptionがスローされます。同じ名前と clientId を持つ永続サブスクリプションと共有非永続サブスクリプションには制限はありません。このようなサブスクリプションは完全に別々になります。
このメソッドは、コンシューマーを表すために
TopicSubscriberではなくMessageConsumerを返すことを除いて、対応するcreateDurableSubscriberメソッドと同じです。- パラメーター:
topic- サブスクライブする非一時的なTopicname- このサブスクリプションを識別するために使用される名前messageSelector- メッセージセレクター式に一致するプロパティを持つメッセージのみが永続サブスクリプションに追加されます。null または空の文字列の値は、永続サブスクリプションにメッセージセレクタがないことを示します。noLocal- true の場合、このセッションの接続、同じクライアント識別子を持つその他の接続を使用してトピックにパブリッシュされたメッセージは、永続サブスクリプションに追加されません。- 戻り値:
- 指定されたトピックの非共有永続サブスクリプション。
- 例外:
InvalidDestinationException- 無効なトピックが指定された場合。InvalidSelectorException- メッセージセレクタが無効な場合。IllegalStateException- クライアント識別子が設定されていない場合JMSException-- 内部エラーのためにセッションが非共有の永続サブスクリプションと
MessageConsumerの作成に失敗した場合 - 非共有の永続サブスクリプションが同じ名前とクライアント識別子ですでに存在し、すでにアクティブなコンシューマーがある場合
- 同じ名前とクライアント識別子を持つ共有永続サブスクリプションがすでに存在する場合
- 内部エラーのためにセッションが非共有の永続サブスクリプションと
- 導入:
- JMS 2.0
createBrowser
QueueBrowserオブジェクトを作成して、指定されたキューのメッセージを確認します。- パラメーター:
queue- アクセスするqueue- 戻り値:
- 指定されたキューのメッセージをのぞく
QueueBrowserオブジェクト。 - 例外:
JMSException- 内部エラーのためにセッションがブラウザーの作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合- 導入:
- JMS 1.1
createBrowser
QueueBrowserオブジェクトを作成して、メッセージセレクターを使用して、指定されたキューのメッセージを確認します。- パラメーター:
queue- アクセスするqueuemessageSelector- メッセージセレクター式に一致するプロパティを持つメッセージのみが配信されます。null または空の文字列の値は、メッセージコンシューマーにメッセージセレクタがないことを示します。- 戻り値:
- 指定されたキューのメッセージをのぞく
QueueBrowserオブジェクト。 - 例外:
JMSException- 内部エラーのためにセッションがブラウザーの作成に失敗した場合。InvalidDestinationException- 無効な宛先が指定された場合InvalidSelectorException- メッセージセレクタが無効な場合。- 導入:
- JMS 1.1
createTemporaryQueue
TemporaryQueueオブジェクトを作成します。それが以前に削除されない限り、その存続期間はConnectionの存続期間になります。- 戻り値:
- 一時的なキュー ID
- 例外:
JMSException- 内部エラーのためにセッションが一時キューの作成に失敗した場合。- 導入:
- JMS 1.1
createTemporaryTopic
TemporaryTopicオブジェクトを作成します。それが以前に削除されない限り、その存続期間はConnectionの存続期間になります。- 戻り値:
- 一時的なトピックのアイデンティティ
- 例外:
JMSException- 内部エラーのためにセッションが一時トピックの作成に失敗した場合。- 導入:
- JMS 1.1
unsubscribe
クライアントによって作成された永続サブスクリプションを登録解除します。このメソッドは、プロバイダーによってサブスクライバーに代わって維持されている状態を削除します。
永続サブスクリプションは、クライアントによって指定された名前と、設定されている場合はクライアント識別子によって識別されます。永続サブスクリプションの作成時にクライアント識別子が設定されていた場合、このメソッドを使用して永続サブスクリプションを削除するクライアントは、同じクライアント識別子を使用する必要があります。
サブスクリプションにアクティブな(閉じていない)コンシューマーが存在する場合、または消費されたメッセージが保留中のトランザクションの一部であるか、セッションで確認されていない場合、クライアントが永続サブスクリプションを削除するのは誤りです。
- パラメーター:
name- このサブスクリプションを識別するために使用される名前- 例外:
JMSException- 内部エラーのためにセッションが永続サブスクリプションへのサブスクライブに失敗した場合。InvalidDestinationException- 無効なサブスクリプション名が指定された場合。- 導入:
- JMS 1.1