2010-11-30 15 views
1

Spring/Hibernateアプリケーションの場合。ユーザーは同じデータを持つ要求以上のものを銀行口座に送ることができます。ここではケースです: 最初のリクエストが最初に到達し、銀行がそれを返し、OKを返し、ローカルアカウントのデータステータスを設定します。 2番目のリクエストは2番目に届き、銀行はそれを返し、NOKを返し、ローカルアカウントのデータステータスをNOKに設定します。リモートWebサービスでHibernateの同時実行を管理する

現在、Googleのローカルアカウントデータのステータスは、正常に処理されていますが、NOKです。 この問題の提案。

+0

あなたの質問はむしろ不明です。 「同じデータを持つ」とはどういう意味ですか?同じトランザクションが2回以上送信される可能性がありますが、1回だけ処理する必要があります。なぜあなたはそのアカウントへのリクエストが拒否された場合、そのアカウントが「役立たれている」と思いますか? –

+0

その例です。両方とも受け入れることができた。リモートWebサービスリターンが購入後の現在の残高を言うならば、私がレコードを更新するとき、これは大きな違いをもたらすでしょう。最後の1つは保存されます。 –

答えて

0

A.受信したWebサービスが要求をキューに入れていることを確認します。

B. Webサービス側では、一度に最大で2回のスレッド実行を実行しないでください。これは、ステータスがNOKに設定されている理由の手がかりを提供します。

+0

私はWebサービス側を制御しません –

+0

スレッドを分解しますか?すべての呼び出しがFIFOベースである必要があるように見えます。 – Bitmap

+0

どうすればいいですか? –

関連する問題