1 Reply Latest reply on Feb 15, 2010 4:03 PM by jamesbury

    JBoss Server hangs on deploy

      I have a web application that deploys and runs fine in Jboss 4.2.1 but will not start in Jboss 5.1.0 GA. The application hangs on this line of code in apache commons digester 2.0:

       

      RuleSet ruleSet = new FromXmlRuleSet(rulesXml); in DigesterLoader class. The rules xml is as follows:

       

      <?xml version="1.0"?>

      <digester-rules>
          <pattern value="application">
              <object-create-rule 
               classname="com.thotwave.pluglet.xml.application.ApplicationXML"/>
             
              <!-- top-level application attributes -->
              <bean-property-setter-rule pattern="author"/>
              <bean-property-setter-rule pattern="copyright"/>
              <bean-property-setter-rule pattern="id"/>
              <bean-property-setter-rule pattern="version"/>
              <bean-property-setter-rule pattern="context-root"
               propertyname="contextRoot"/>
              <bean-property-setter-rule pattern="servlet-path"
               propertyname="servletPath"/>
              <bean-property-setter-rule pattern="description"/>
              <pattern value="label">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.LabelXML"/>
                  <set-properties-rule/>
                  <call-method-rule methodname="setContent" paramcount="0"/>
                  <set-next-rule methodname="setLabel"/>
              </pattern>

              <!-- templates -->
              <pattern value="templates/template">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.TemplateXML"/>
                  <set-properties-rule/>
                  <pattern value="assign">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.TemplateAssignmentXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="addAssignment"/>
                  </pattern>
                  <set-next-rule methodname="addTemplate"/>
              </pattern>

              <!-- pluglets -->
              <pattern value="pluglets/pluglet">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.PlugletXML"/>
                  <set-properties-rule/>
                  <set-next-rule methodname="addPluglet"/>
              </pattern>

              <!-- error handling -->
              <pattern value="error">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.ErrorXML"/>
                  <set-properties-rule/>
                  <pattern value="error-view">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.ErrorViewXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="setErrorView"/>
                  </pattern>
                  <pattern value="error-template">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.ErrorTemplateXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="setErrorTemplate"/>
                  </pattern>
                  <set-next-rule methodname="setError"/>
              </pattern>

              <!-- security -->
              <pattern value="security">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.SecurityXML"/>
                  <set-properties-rule/>
                  <set-next-rule methodname="setSecurity"/>
              </pattern>

              <!-- components -->
              <pattern value="components/component">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.ComponentXML"/>
                  <set-properties-rule/>
                  <set-next-rule methodname="addComponent"/>
              </pattern>

              <!-- interceptors -->
              <pattern value="interceptors">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.InterceptorCollectionXML"/>
                  <set-properties-rule/>
                  <pattern value="interceptor">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.InterceptorXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="addInterceptor"/>
                  </pattern>
                  <set-next-rule methodname="setInterceptorCollection"/>
              </pattern>

              <!-- resource manager -->
              <pattern value="resource-manager">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.ResourceManagerXML"/>
                  <set-properties-rule/>
                  <pattern value="factory">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.ResourceFactoryXML"/>
                      <set-properties-rule/>
                      <pattern value="resource">
                          <object-create-rule
                           classname="com.thotwave.pluglet.xml.application.ResourceXML"/>
                          <set-properties-rule/>
                          <pattern value="param">
                              <object-create-rule 
                               classname="com.thotwave.pluglet.xml.ParamXML"/>
                              <set-properties-rule/>
                              <set-next-rule methodname="addParam"/>
                          </pattern>
                          <set-next-rule methodname="addResource"/>
                      </pattern>
                      <set-next-rule methodname="addResourceFactory"/>
                  </pattern>
                  <set-next-rule methodname="setResourceManager"/>
              </pattern>

              <!-- event handling -->
              <pattern value="event">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.application.EventXML"/>
                  <set-properties-rule/>
                  <bean-property-setter-rule pattern="categoryPrefix"/>
                  <bean-property-setter-rule pattern="errorType"/>
                  <bean-property-setter-rule pattern="eventDataSource"/>
                  <bean-property-setter-rule pattern="attachmentStorename"/>
                  <pattern value="sequence">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.EventSequenceXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="setEventSequence"/>
                  </pattern>
                  <pattern value="eventSinks">
                      <object-create-rule 
                       classname="com.thotwave.pluglet.xml.application.EventSinkCollectionXML"/>
                      <set-properties-rule/>
                      <set-next-rule methodname="setEventSinkCollection"/>
                  </pattern>
                  <set-next-rule methodname="setEvent"/>
              </pattern>

              <!-- application attributes -->
              <pattern value="application-attributes/attribute">
                  <object-create-rule 
                   classname="com.thotwave.pluglet.xml.ScopedAttributeXML"/>
                  <set-properties-rule/>
                  <set-next-rule methodname="addApplicationAttribute"/>
              </pattern>

          </pattern>


          <!--
           ********** Standard Code Rules **********
           -->

          <pattern value="*/code">
              <object-create-rule
                  classname="com.thotwave.bean.code.CodeElement"/>
              <set-properties-rule/>
              <set-next-rule methodname="addCode"/>
          </pattern>

          <pattern value="*/property">
              <object-create-rule
                  classname="com.thotwave.bean.code.PropertyElement"/>
              <set-properties-rule/>
              <call-method-rule methodname="setText" paramcount="0"/>
              <set-next-rule methodname="addProperty"/>
          </pattern>

          <pattern value="*/property/list">
              <object-create-rule
                  classname="com.thotwave.bean.code.ListElement"/>
              <set-next-rule methodname="addValue"/>
          </pattern>

          <pattern value="*/property/map">
              <object-create-rule
                  classname="com.thotwave.bean.code.MapElement"/>
              <set-next-rule methodname="addValue"/>
          </pattern>

          <pattern value="*/map/key">
              <object-create-rule
                  classname="com.thotwave.bean.code.AnonymousValue"/>
              <call-method-rule methodname="setText" paramcount="0"/>
              <set-next-rule methodname="addValue"/>
          </pattern>

          <!-- appears in <list> and <map>
            -->
          <pattern value="*/value">
              <object-create-rule
                  classname="com.thotwave.bean.code.AnonymousValue"/>
              <call-method-rule methodname="setText" paramcount="0"/>
              <set-next-rule methodname="addValue"/>
          </pattern>
      </digester-rules>
            

      In Jboss 5, when it hits this line it just sits (no logging or anything) until an out of memory error is thrown... Any ideas?