Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-5086

Archetype: camel-archetype-web retains loaded classes after redeployment, causing permgen space to fill up.

    XMLWordPrintableJSON

    Details

    • Estimated Complexity:
      Unknown

      Description

      Steps to reproduce:
      1. Create a new camel web project (based on instructions here: http://camel.apache.org/camel-maven-archetypes.html ):

      mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-web -DarchetypeVersion=2.9.1 -DarchetypeRepository=https://repository.apache.org/content/groups/snapshots-group

      2. Build the new project:
      mvn clean install

      3. Copy .war file in target/ to tomcat's webapps directory.
      4. Reload webapp (easiest way is to touch the .war file)
      5. If you are using a profiler, you will see that the permgen space increases on every reload (the previous webapp's classes don't get unloaded)
      6. Eventually the webapp container will crash with a permgen out of memory error.

      Workaround: restarting the webapp container will reset the permgen space.
      Removing the Spring nature of the project makes this go away, so it could be a problem with Spring itself.

      This also happens when using Jetty7, so I don't think it is a problem with the container.

        Attachments

        1. tomcat.png
          24 kB
          Claus Ibsen
        2. tomcat2.png
          21 kB
          Claus Ibsen

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              drichelson Dan Richelson
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: