URL に応じて処理オブジェクトにリクエストを委任する Tomcat フィルターがあります。これは、 の唯一のフィルタFilterChain
です。このフィルターを大量のリクエストで処理する Ajax アプリがあります。
最近、フィルターのdoFilter
メソッドがコミットされた応答をパラメーターとして使用して呼び出されることが多いという問題に気付きました (内部的には、コミット済みとしてマークされているのはコヨーテの応答です)。
これが発生する唯一のrecycle()
方法は、このコヨーテの応答でメソッドが呼び出されない場合です。request、response、outputStream、または writer オブジェクトへの参照を保持していないことを確認しました。さらに、finally ブロックで outputStream を閉じるようにしました。ただし、これはこの問題を解決しません。
これは、サーブレット コンテナーを悪用するために何かをしているように聞こえますが、追跡に問題があります。