]
Nick Belaevski commented on RF-1284:
------------------------------------
Related issues are:
- "The problem resulting
of this effect is that the partner's J2EE is not able to redeploy applications"
Excerpt from JBoss's JarDeployer code:
URLConnection con = ddDir.openConnection();
JarURLConnection jarConn = (JarURLConnection) con;
/* Need to set caching to false otherwise closing the jarfile
ends up conflicting with other users of the cached jar.
*/
jarConn.setUseCaches(false);
jarFile = jarConn.getJarFile();
// Scan for any xml files in the META-INF dir
if (trace)
log.trace("Descriptor names=" +
Arrays.asList(descriptorNames));
The lock occurs for resources-config.xml loading only. Sample ServletContextListener (code
attached) created to see if the issue occurs for getResource/getResources methods. For
JBoss 4.2.1 & JDK 1.5.12_04 the issue occurs for getResources() only, so
getResource()/getResourceAsStream() invocations were skipped.
RichFaces/Ajax4Jsf redeploy causes java.lang.OutOfMemory
--------------------------------------------------------
Key: RF-1284
URL:
http://jira.jboss.com/jira/browse/RF-1284
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.1.0
Environment: Windows XP SP2, JBoss 4.0.3 SP1
Reporter: Marco Pravato
Assigned To: Nick Belaevski
Priority: Critical
Fix For: 3.2.0
Attachments: Listener.java
Deploying many times (depending on amount of memory on the server) a RichFaces
application under JBoss 4.0.3SP1 causes java.lang.OutOfMemory.
This is probably caused by RichFaces/Ajax4Jsf not releasing resources on undeploy.
Looking in folder jboss/server/[instance]/tmp/deploy, i can find many folders of my web
app, which contains only WEB-INF/lib/richfaces-impl-3.1.2.GA.jar and
WEB-INF/lib/richfaces-ui-3.1.2.GA.jar (Except for the current deploy which contains the
full application). Every time i redeploy the web app i get a new folder inside TMP.
This bug can be recreated using any RichFaces/Ajax4JSF application, just making multiple
deploys without restarting the application server.
Added 08/01/2008:
Just tested with Richfaces 3.2.0 snapshot Demo
"richfaces-demo-3.2.0-20080107.054324-62.war". I got the same problem, every
time i deploy the WebApp i get a new folder inside Jboss "tmp" directory. The
older dir just contains:
- WEB-INF/lib/jsf-impl-1.2_07.jar
- WEB-INF/lib/richfaces-impl-3.2.0-SNAPSHOT.jar
- WEB-INF/lib/richfaces-ui-3.2.0-SNAPSHOT.jar
I had the same problem using ajax4jsf (see forum thread), and it seems restarting the
server is the only workaround for now.
When using Ajax4JSF only, JProfiler allocation tree after undeploy was:
93,7% - 15.792 bytes - 749 alloc. org.apache.tomcat.util.net.MasterSlaveWorkerThread
..93,7% - 15.792 bytes - 749 alloc. org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter
....92,3% - 15.544 bytes - 741 alloc.
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter
......83,6% - 14.080 bytes - 674 alloc.
org.ajax4jsf.framework.ajax.xmlfilter.tidy.TidyXMLFilter
........83,6% - 14.080 bytes - 674 alloc.
org.ajax4jsf.framework.ajax.xmlfilter.tidy.TidyParser
..........83,6% - 14.080 bytes - 674 alloc. org.ajax4jsf.org.w3c.tidy.Tidy
............24,8% - 4.176 bytes - 156 alloc. org.ajax4jsf.org.w3c.tidy.TagTable
............24,0% - 4.048 bytes - 253 alloc. org.ajax4jsf.org.w3c.tidy.EntityTable
............22,8% - 3.840 bytes - 173 alloc. org.ajax4jsf.org.w3c.tidy.AttributeTable
............12,0% - 2.016 bytes - 92 alloc. org.ajax4jsf.org.w3c.tidy.Configuration
......8,0% - 1.344 bytes - 59 alloc.
org.ajax4jsf.framework.ajax.xmlfilter.FilterServletResponseWrapper
........5,0% - 848 bytes - 37 alloc. org.ajax4jsf.io.parser.FastHtmlParser
..........5,0% - 848 bytes - 37 alloc. org.ajax4jsf.io.parser.ParsingStateManager
............2,9% - 496 bytes - 22 alloc.
org.ajax4jsf.framework.ajax.xmlfilter.tidy.TidyParser
............2,9% - 496 bytes - 22 alloc. org.ajax4jsf.org.w3c.tidy.Tidy
..............1,6% - 264 bytes - 11 alloc. org.ajax4jsf.org.w3c.tidy.Lexer
..............1,4% - 232 bytes - 11 alloc.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: