Wicket
  1. Wicket
  2. WICKET-5146

Application not destroyed if WicketFilter#init() fails

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.10, 6.7.0
    • Fix Version/s: 6.8.0, 1.5.11
    • Component/s: None
    • Labels:
      None

      Description

      WicketFilter calls Application#initApplication() which calls Application#init().

      In case of Exception thrown in the application's init() method, there is no cleanup in WicketFilter's finally block.

      The result of this is, in case where Wicket is in the application server's libraries (not deployed with the war file), that the application cannot be re-deployed withhout re-starting the application server.

      That is because Application#setName() crashes with IllegalStateException("Application name can only be set once.").

      In Application, private static final Map<String, Application> applicationKeyToApplication holds a reference to the crashed instance after the application is undeployed.

      1. testcase.zip
        24 kB
        bernard
      2. fix-WICKET-5146-2.patch
        1 kB
        Cedric Gatay

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Sven Meier
            Reporter:
            bernard
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development