状況を説明してみましょう。
キューまたはトピック (JMS 用語) のいずれかであるメッセージング システムを組み込む予定です。
1 ) Producer/Publisher :サービス A があります。A はメッセージを生成し、Queue/Topic に書き込みます。
2 ) Consumer/Subscriber :サービス B があります。B はキュー/トピックからメッセージを非同期に読み取ります。次に、B は Web サービスを呼び出し、メッセージをそれに渡します。Web サービスがメッセージを処理するのにかなりの時間がかかります。(このアクションはリアルタイムで処理する必要はありません。)
メッセージ ブローカーは Tibco です
私の意図は次のとおりです。Aからのメッセージの処理を逃さないことです。処理が初めて(おそらくバッチとして)失敗した場合に備えて、後で再処理します。
質問:
Web サービスを呼び出す前に、メッセージを DB に書き込むことを考えていました。呼び出しが成功した場合は、メッセージに処理済みのマークを付けます。それ以外の場合は失敗しました。その後、cron ジョブで、最初に失敗したすべての要求を処理しました。
DBへの書き込みはこれを行う典型的な方法ですか?