職場で、JMS キュー (実際には、同様のインターフェースを備えた専用のもの) から読み取り、同じトランザクション内でデータベースに書き込むように依頼されました。たとえば、データベースの挿入が失敗した場合、キューからの読み取りをロールバックする必要があります。
私は Java の経験があまりなく、XA、JTA、または JMS についての知識があまりありません。私は自分の目標を達成するのに十分な技術を理解できるように、すべてを読み込もうとしています。
とにかく、これらが互いにどのように関連しているかについて、私は少し混乱しています。
データベースと通信して分散トランザクションを管理するために XA ドライバーが使用されていると思いますが、XA ドライバーはメッセージ キューでも動作しますか?
データベースとキューの間でトランザクションを実行できるようにする XA 機能を管理するには、JTA インターフェースを使用する必要がありますか? それとも、何らかの XA API を直接使用する必要がありますか?
2 つのコンポーネント (必ずしも JMS キューとデータベースではなく、XA を使用して複数の参加者のトランザクションを管理するもの) 間のトランザクションを実行するコード サンプルを見つけることができる場所を知っている人はいますか?
これが少し広い場合は申し訳ありませんが、正しい方向に向けて何を読むべきかを知るのに十分なポインタを探しているだけです.