0
異なるアプリケーションサーバーでPOJOクラスにアクセスする4つのejbクライアントがあります。このPOJOクラスは、いくつかのデータをDBに書き出します。 DBへのデータの更新の呼び出しが両方のアプリケーションサーバーから同時に来ると、DBロックが作成され、すべてのデータを正常に格納できません。複数のアプリケーションサーバーが同時にデータを更新するときのDBロックの処理
制約事項:このクラスをEJBにすることはできず、アプリケーションサーバーのデフォルト設定は変更できません(例:トランザクションタイムアウト)。
どのようにこの問題を解決できますか?
エラーとは何ですか?最初のセッションはトランザクションをどのくらい開いていますか?第2セッションのトランザクションタイムアウトはどのくらいですか? 2つの異なるアプリケーションサーバーで2つのセッションを実行して、同じテーブルの同じ行を更新するのはなぜですか?これは一般的に、システムを設計する方法ではありません。 –
エラー:java.sql.SQLException:ORA-02049:タイムアウト:ロックを待機している分散トランザクション。トランザクションタイムアウトは、Application Serverのデフォルト設定です。 – Rekha
アプリケーションサーバーのトランザクションタイムアウトはどのくらいですか?なぜ分散トランザクションがありますか?ロックを保持している間に、最初のトランザクションがどれくらい開いていると予想されますか? –