ネットワーク上でJavaアプリケーションの2つのクライアントを実行すると問題が発生します。最初のクライアントはレコードを挿入し、2番目のクライアントは結果セットを更新するときにそれを表示できます。2番目のクライアントが新しいレコードを挿入すると、最初のクライアントはその後もそのレコードを表示できません。さわやかで、最初のクライアントがアプリケーションを閉じて再実行すると、2番目のクライアントショーから通常どおりに記録します!!!!! どうしたの ?問題を追跡するために両方を監視するにはどうすればよいですか?注:COMMITの後にAutoCommitをtrueに設定すると、すべてが正常に機能します。my.cnfに追加の構成が必要ですか??
1 に答える
1
最初のクライアントは、読み取り(選択)するだけで接続とトランザクションを開いたままにしますが、トランザクションをコミットすることはありません。したがって、更新時に「古いトランザクション状態」になります。クライアント1が新しい結果セットを取得することを確認してください(単に更新するのではなく)、またはさらに単純です-AutoCommitをtrueに設定するだけで、機能すると述べます。
編集:私が今それが間違っていると思う私の最初の答えを取り除いてください。(2番目のクライアントはコミットしなかったと言いました。質問を多少読み間違えました。)
于 2012-05-04T22:33:26.100 に答える