Uploaded image for project: 'S2Container'
  1. S2Container
  2. CONTAINER-28

Web アプリケーションを undeploy した場合に TimeoutManager のスレッドが終了しない

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Minor Minor
    • 2.4.9
    • 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() を呼べばこのスレッドを止められます。

            Assignee:
            koichik koichik
            Reporter:
            suga suga
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: