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

    • 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

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

            Dates

              Created:
              Updated:
              Resolved: