websphere MQとWCFを使用するときにメッセージの耐久性をどのように保証できるか疑問に思っています。 WCFプロセスがキューからメッセージを選択できるようにしたいのですが、アプリケーションで発生する問題(停電など)があればメッセージを失うことはありません。また、分散トランザクションを排除したいので、可能な限りトランザクションを使用する必要はありません。WCFを使用しているときのメッセージの耐久性を確保
おかげで、
S
websphere MQとWCFを使用するときにメッセージの耐久性をどのように保証できるか疑問に思っています。 WCFプロセスがキューからメッセージを選択できるようにしたいのですが、アプリケーションで発生する問題(停電など)があればメッセージを失うことはありません。また、分散トランザクションを排除したいので、可能な限りトランザクションを使用する必要はありません。WCFを使用しているときのメッセージの耐久性を確保
おかげで、
S
はまあ、トランザクションがありますし、分散トランザクションがあります。 「正しい」答えは、ここでWMQ 1フェーズコミットを使用することです。これにはXAトランザクションの複雑さはありませんが、メッセージを失うことなくロールバックすることができます。実際には、クライアントを使用するときは、メッセージの損失を防ぐために少なくとも1フェーズコミットを使用する必要があります。
「ブラウズ・オン・ロック、カーソル下のメッセージを削除する」という方法が常に存在します。ブラウジング、ロック、削除を行うために必要なものはすべて.NET上で公開されているとは思うが、おそらくShashiはコメントして確認するだろう。
WebSphere MQ WCFカスタム・チャネルには、サービス要求または応答が実行され、失われないことを保証する「保証された配信」機能があります。これは1フェーズコミット(SYNC_POINT in WMQとも呼ばれます)です。
"Assuered Delivery"はサービス契約の属性です。 Hereはこの機能の詳細です。