camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] [Resolved] (CAMEL-6452) FileUtil.getDefaultTempDir() causes a classloader leak in webapps
Date Wed, 17 Jul 2013 11:42:49 GMT


Claus Ibsen resolved CAMEL-6452.

    Resolution: Fixed

Thanks for the patch.

There is a static shutdown method on FileUtil you can use to cleanup this in 2.11 and 2.10

For Camel 2.12 we introduce StreamCachingStrategy that handles this out of the box, and avoid
using static stuff etc. So it becomes per CamelContext instead.
> FileUtil.getDefaultTempDir() causes a classloader leak in webapps
> -----------------------------------------------------------------
>                 Key: CAMEL-6452
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.10.4
>         Environment: tomcat 7, spring 3.2
>            Reporter: Sanjay Deshmukh
>            Assignee: Claus Ibsen
>             Fix For: 2.10.7, 2.11.2, 2.12.0
>         Attachments: 0001-Fixed-CAMEL-6452-by-adding-a-cleanup-routine-to-remo.patch
> FileUtil.getDefaultTempDir() registers a JVM shutdown hook to delete the temporary directory
it creates. We are using camel in a web application in Tomcat that gets dynamically reloaded
as updates are available, so the JVM is normally never shut down. This is causing 'camel-tmp-*'
directories to linger in $CATALINA_HOME/temp, and - more importantly - classloader leaks,
which are a major problem for us.
> If the thread that gets registered as the shutdown hook were stored in a class variable,
I could unregister it when the application is being unloaded.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message