We use Camel 2.17.3 on a Tomcat 8.5.8 with Java 7. Our project has about 30
routes with a peak throughput of 2000 requests per minute in total.
In one route we used two Groovy expressions for message body transformation.
After the update to 2.17.3 we saw a constant growth of the perm gen usage -
~35 MB per day. Analysis of heap dumps and jmap -permstats showed that every
call to the route led to the creation of a Script<xxxx> class by the
GroovyClassLoader. The class definitions accumulated in the perm gen space
until it was full and the server got into trouble.

Removing the Groovy expressions solved the immediate problem, but I think
this should not be the final solution. ;-)

Would it be possible to cache the parsed script for each expression to avoid
the pile up of class definitions?

Regards

Christoph Thelen



--
View this message in context: 
http://camel.465427.n5.nabble.com/PermGen-Leak-when-using-Groovy-expressions-tp5793044.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to