「のスレッド内のスコープ付きプロキシ Bean へのアクセス」の回答からのアプローチを使用しています。ただし、オブジェクトに関連するまれなデッドロックが発生していRequestAttributes
ます。デッドロックの主な原因はsynchronized (this.sessionAttributesToUpdate)
、オブジェクト内のステートメントとサーブレット セッション ハッシュ マップの間にあります。通常、オブジェクトのインスタンスはリクエストごとに作成されるため、衝突することはありませんが、セッション Bean を使用するためにオブジェクトを別のスレッドに渡すと、同じオブジェクトが使用され、デッドロックが発生することがあります。
で渡されたセッション Bean の使用を別のスレッドが開始している間に、現在の http 要求が完了していない場合、デッドロックが発生しRequestContextHolder.setRequestAttributes
ます。
この男は同じ問題に言及していると思いますが、彼の質問には答えがありません:セッション スコープ Bean がデッドロックに遭遇しました。
それで、デッドロックを回避する方法はありますか?