Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-5146

Application not destroyed if WicketFilter#init() fails

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: 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.

        Attachments

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

          Activity

            People

            • Assignee:
              svenmeier Sven Meier
              Reporter:
              bht@actrix.gen.nz bernard
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: