JMS セッションをトランザクションに参加させたい場合は、セッション パラメータを true にして JMS セッションを作成します。
しかし、トランザクションに参加しているセッションがローカル トランザクションまたはグローバル トランザクションであるという JMS についてどこで言及したのでしょうか。
つまり、JMS をローカル トランザクションまたはグローバル トランザクションに参加させる制御はできますか?それともアプリケーション コンテナが決定しますか?
JMS セッションをトランザクションに参加させたい場合は、セッション パラメータを true にして JMS セッションを作成します。
しかし、トランザクションに参加しているセッションがローカル トランザクションまたはグローバル トランザクションであるという JMS についてどこで言及したのでしょうか。
つまり、JMS をローカル トランザクションまたはグローバル トランザクションに参加させる制御はできますか?それともアプリケーション コンテナが決定しますか?
使用する接続ファクトリーによって異なります。
JMS の仕様では、2 つの異なるタイプの接続ファクトリが指定されており、それぞれのタイプに 3 つのインターフェイスが含まれています。
XAConnectionFactory、XAQueueConnectionFactory、および XATopicConnectionFactory
XA 接続ファクトリおよび
ConnectionFactory、QueueConnectionFactory および TopicConnectionFactory
非 XA 接続ファクトリー用。XA* *を使用すると、JMS セッションはグローバル トランザクションに参加します。もちろん、この部分はコードから抽象化されています。これは、通常、プロバイダー固有のインターフェイスを介して接続ファクトリを構成し、JNDI を介してそれらを検索するためです。
これは、WebLogic での JMS のグローバル トランザクションに関するリンクです。