私は1つの設計上の問題があります。DB呼び出しとMQ呼び出しを一緒にするか失敗させるか
現在のコードはまずDBを呼び出してメッセージを保存し、すぐにメッセージをPutQueueメソッドに入れるためのMQを呼び出します。これらの呼び出しは両方ともvoidを返します。
私はトランザクションを保存するためにデータベースとMqを使用しています。現在のコードは最初にメッセージをDBに保存し、次にMQにメッセージを置き、このmqはメッセージをOmniプロセスに送ります。
私は、メッセージがDBに保存され、何らかのエラーのためにMQが配置されないシナリオがあります。そのような場合、メッセージはOmniプロセスではなくDBに保存されます。私は、失敗するか失敗するかのように私のデザインを変えたいと思っています。
私はDB呼び出しを行うために、私は単にsave呼び出しでvoidを返す別のサービスを使用しています。 Message MQでも同じことが起こります。どうすれば一緒に仕事をするか一緒に失敗することができます。
私の質問が不完全であり、重要な点を見逃している場合は教えてください。
ibm mqおよびoracleデータベースです。保存するために、jarファイルを使用してストアドプロシージャを呼び出しています。あなたが提案した通り、私ができることは、私がsaveを行うことができるレスポンスに基づいて最初にmqを実行することです。ここで問題は、私はDBの失敗のロールバックmqの可能性があるはずです。 – user1268890