-
Type: Bug
-
Resolution: Fixed
-
Priority: Minor
-
Affects Version/s: None
-
Component/s: S2Container
-
None
-
Environment:Windows
J2SDK 1.5.0_10
Tomcat 5.5.20
Web アプリケーションの場合。
ConnectionPoolImpl から一度でもコネクションを取得したあと、このアプリケーションを undeploy しても TimeoutManager のスレッドが終了しないため、正常に undeploy できません。(クラスローダーが残った状態になります)
ConnectionPoolImpl#close() あたりでスレッドを終了させると直ると思います。
利用者側の対策の一例:
ServletContextListener#contextDestroyed() で org.seasar.extension.timer.TimeoutManager.getInstance().stop() を呼べばこのスレッドを止められます。