You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/12/23 04:47:29 UTC

[jira] Commented: (CXF-1816) Undeploying a CXF web app from tomcat on windows does not delete some CXF files

    [ https://issues.apache.org/jira/browse/CXF-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12793916#action_12793916 ] 

Daniel Kulp commented on CXF-1816:
----------------------------------


I've gone through the heap in JProfiler to try and figure out what is happening.   It turns out there are a couple things going on:

1) There WERE two places in CXF that was holding onto the classes and classloaders using a strong reference.   I've committed fixes to that.

2) There are apparently a couple bugs in the JRE that we're hitting.   The Tomcat folks are working on ways to work around it.  You can see some of what they are doing at:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JreMemoryLeakPreventionListener.java?revision=830908&view=markup&pathrev=830908

Basically, we're hitting both bugs mentioned in there.   The sun.awt.AppContext class is definitely holding onto the WebabbClassloader strongly which is preventing it from being undeployed.   The second bug you can see right in the comment is known to be caused by JAXB.

I've also discovered that Spring is holding onto some classes (and thus their classloader) strongly in one of their bean caches.  It MAY be OK depending on the above bugs.   Not really sure.   The only workaround I could figure out is to put the spring jars in the equivalent of the shared/lib dir and not directly in the jar.   That keeps Spring from caching them.

> Undeploying a CXF web app from tomcat on windows does not delete some CXF files
> -------------------------------------------------------------------------------
>
>                 Key: CXF-1816
>                 URL: https://issues.apache.org/jira/browse/CXF-1816
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>    Affects Versions: 2.1.2
>         Environment: Windows Vista, Tomcat 6
>            Reporter: Antonio Leonforte
>
> When we try to undeploy a quite large web application (30Mb WAR file) using CXF, the operation completes with no warnings on the Tomcat manager page. However, the following two CXF files are *not* removed from the webapps folder, so that when we try to deploy the application again Tomcat fails. The files are: "cxf-2.0.5-incubator" and "cxf-2.1.2". Maybe some thread keeps these files locked and prevents tomcat from deleting them? We even tried to stop the application, wait a minute and then try to undeploy, but the above mentioned files were still there.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.