7 Replies Latest reply on Aug 13, 2007 7:07 PM by Ronald van Kuijk

    OutOfMemoryError in JBPM3.2.1

    zhou guangzhao Newbie

      The following taskform code works in JBPM3.2.GA.
      But when running in JBPM 3.2.1, it causes OutOfMemoryError. By testing, I found that if I change <jbpm:dataform columns="2"> to <jbpm:dataform>, it will work well in both JBPM3.2.GA and JBPM3.2.1.
      How can this error be fixed?


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
      
      <!-- the DOCTYPE means we are required to use html for a root element -->
      <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:c="http://java.sun.com/jstl/core"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core"
       xmlns:tf="http://jbpm.org/jsf/tf"
       xmlns:jbpm="http://jbpm.org/jsf">
      
       <ui:component>
      
       <jbpm:dataform columns="2">
      
       <f:facet name="header">
       <h:outputText value="#{taskName}"/>
       </f:facet>
      
       <!-- TASKFORM ROWS -->
       <jbpm:datacell>
       <f:facet name="header">
       <h:outputText value="Sex"/>
       </f:facet>
       <h:selectOneRadio id="StudentSex" value="#{var['StudentSex']}">
       <f:selectItem itemLabel="Male" itemValue="Male"/>
       <f:selectItem itemLabel="Female" itemValue="Female"/>
       </h:selectOneRadio>
       </jbpm:datacell>
      
       <jbpm:datacell>
       <f:facet name="header">
       <h:outputText value="HasAS"/>
       </f:facet>
       <h:selectOneRadio id="HasAS" value="#{var['HasAS']}" >
       <f:selectItem itemLabel="Yes" itemValue="Yes"/>
       <f:selectItem itemLabel="No" itemValue="No"/>
       </h:selectOneRadio>
       </jbpm:datacell>
      
       <jbpm:datacell>
       <f:facet name="header">
       <h:outputText value="Actions"/>
       </f:facet>
       <!-- TASKFORM BUTTONS -->
       <tf:saveButton value="Save"/>
       <tf:cancelButton value="Cancel"/>
       <tf:transitionButton value="Save and Close"/>
       </jbpm:datacell>
      
       </jbpm:dataform>
      
       </ui:component>
      
      </html>
      
      





      exception
      javax.servlet.ServletException: Servlet execution threw an exception
      org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)

      root cause
      java.lang.OutOfMemoryError: Java heap space
      com.sun.facelets.util.FastWriter.overflow(FastWriter.java:50)
      com.sun.facelets.util.FastWriter.write(FastWriter.java:57)
      com.sun.facelets.util.FastWriter.write(FastWriter.java:77)
      com.sun.facelets.StateWriter.write(StateWriter.java:116)
      com.sun.faces.renderkit.html_basic.HtmlResponseWriter.startElement(HtmlResponseWriter.java:467)
      org.jboss.gravel.common.renderer.RendererBase$ElementImpl.<init>(RendererBase.java:246)