Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-5260

Web Application Context is not registering ComponentType{type=MBean, subtype=WebApplicationManager} in ProfileService when JBossWeb is using host name other than localhost

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • EAP 5.1.0 Post Release
    • EAP 5.0.0, EWP 5.0.0, EAP 5.0.1, EWP 5.0.1, EAP_EWP 5.1.0, EAP 5.1.0 Post Release, EAP/EWP 5 RHEL-6 RPMs, EAP_EWP 5.1.1, EAP 6.0.0 ER 4
    • Profile Service
    • None
    • Tested using EAP 5.0.0, 5.0.1, 5.1.0, AS 6.0.0 M5, EWP 5.0.1

    • Hide

      1) Install JBoss EAP 5

      2) Enable JMX admin user for default profile:
      JBOSS_HOME=/opt/jboss/eap/jboss-eap-5.1.0/jboss-as
      configProfile=default
      sed -i 's/#*.admin=admin/admin=admin/g' ${JBOSS_HOME}/server/${configProfile}/conf/props/jmx-console-users.properties

      3) Change default host name from localhost to physical host name:
      hostName=loleary
      jbossWebConfig=${JBOSS_HOME}/server/${configProfile}/deploy/jbossweb.sar/server.xml
      sed -i 's/<Engine name="jboss.web" defaultHost=".*">/<Engine name="jboss.web" defaultHost="'${hostName}'">/g' "${jbossWebConfig}"
      sed -i 's/<Host name=".*">/<Host name="'${hostName}'">/g' "${jbossWebConfig}"

      4) Start EAP default instance:
      cd ${JBOSS_HOME}/bin
      ./run.sh -c default -b 0.0.0.0

      5) From admin-console (http://localhost:8080/admin-console)
      Expand and select: <hostname> -> JBossAS Servers -> JBoss EAP 5 (default) -> Applications -> Web Application (WAR)s -> ROOT.war -> Web Application Contexts -> //<hostname>/

      • Note the status shows Unavailable (it should be Available)
      Show
      1) Install JBoss EAP 5 2) Enable JMX admin user for default profile: JBOSS_HOME=/opt/jboss/eap/jboss-eap-5.1.0/jboss-as configProfile=default sed -i 's/#*.admin=admin/admin=admin/g' ${JBOSS_HOME}/server/${configProfile}/conf/props/jmx-console-users.properties 3) Change default host name from localhost to physical host name: hostName=loleary jbossWebConfig=${JBOSS_HOME}/server/${configProfile}/deploy/jbossweb.sar/server.xml sed -i 's/<Engine name="jboss.web" defaultHost=".*">/<Engine name="jboss.web" defaultHost="'${hostName}'">/g' "${jbossWebConfig}" sed -i 's/<Host name=".*">/<Host name="'${hostName}'">/g' "${jbossWebConfig}" 4) Start EAP default instance: cd ${JBOSS_HOME}/bin ./run.sh -c default -b 0.0.0.0 5) From admin-console ( http://localhost:8080/admin-console ) Expand and select: <hostname> -> JBossAS Servers -> JBoss EAP 5 (default) -> Applications -> Web Application (WAR)s -> ROOT.war -> Web Application Contexts -> //<hostname>/ Note the status shows Unavailable (it should be Available)
    • Not Required

    Description

      When JBossWeb is using host name (defaultHost) of localhost all seems to work fine. But when JBossWeb is using host name other than localhost, we seem to be missing the component type MBean with a subtype of WebApplicationManager for all deployed WARs within the ProfileService.

      The result is that the Web Application Contexts for the WARs (i.e. ROOT.war) showing a state of DOWN in admin-console when using a host other than localhost. – admin-console – <hostname> -> JBossAS Servers -> JBoss EAP 5 (default) -> Applications -> Web Application (WAR)s -> ROOT.war -> Web Application Contexts -> //<hostname>/

      Output from ProfileServiceDebugServlet for ROOT.war on localhost and on non-localhost is as follows:

      EAP 5.1.0 - jmx-console/ProfileServiceDebugServlet
      Host: localhost
      http://localhost:8080/jmx-console/ProfileServiceDebugServlet

      ROOT.war:
      ManagedDeployment: //localhost/; state: STARTED
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/, type=(ComponentType

      {type=MBean, subtype=WebApplication}), compName=jboss.web:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/, attachment: null
      ++++++ properties: [saveConfig, managedResource, manager, cacheTTL, engineName, startTime, configFile, realm, staticResources, antiJARLocking, stateManageable, compilerClasspath, servlets, valveObjectNames, loader, caseSensitive, processingTime, useNaming, deploymentDescriptor, cacheObjectMaxSize, override, namingContextListener, cachingAllowed, swallowOutput, privileged, parentClassLoader, unloadDelay, docBase, eventProvider, workDir, javaVMs, statisticsProvider, tldScanTime, state, children, modelerType, delegate, mappingObject, startupTime, crossContext, welcomeFiles, logger, path, cookies, reloadable, defaultContextXml, objectName, antiResourceLocking, cacheMaxSize, defaultWebXml, server, allowLinking]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=Status Servlet, type=(ComponentType{type=MBean, subtype=Servlet}), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=Status Servlet, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=jsp, type=(ComponentType{type=MBean, subtype=Servlet}), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=jsp, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=default, type=(ComponentType{type=MBean, subtype=Servlet}), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//localhost/,j2eeType=Servlet,name=default, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]
      +++ ManagedComponent(name=jboss.web:host=localhost,path=/,type=Manager, type=(ComponentType{type=MBean, subtype=WebApplicationManager}), compName=jboss.web:host=localhost,path=/,type=Manager, attachment: null
      ++++++ properties: [sessionMaxAliveTime, duplicates, maxInactiveInterval, entropy, activeSessions, sessionCounter, sessionAverageAliveTime, processingTime, sessionIdLength, modelerType, processExpiresFrequency, algorithm, maxActive, distributable, maxActiveSessions, randomFile, name, rejectedSessions, expiredSessions, pathname, className]


      EAP 5.1.0 - jmx-console/ProfileServiceDebugServlet
      Host: loleary
      http://localhost:8080/jmx-console/ProfileServiceDebugServlet

      ROOT.war:
      ManagedDeployment: //loleary/; state: STARTED
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//loleary/, type=(ComponentType{type=MBean, subtype=WebApplication}

      ), compName=jboss.web:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//loleary/, attachment: null
      ++++++ properties: [saveConfig, managedResource, manager, cacheTTL, engineName, startTime, configFile, realm, staticResources, antiJARLocking, stateManageable, compilerClasspath, servlets, valveObjectNames, loader, caseSensitive, processingTime, useNaming, deploymentDescriptor, cacheObjectMaxSize, override, namingContextListener, cachingAllowed, swallowOutput, privileged, parentClassLoader, unloadDelay, docBase, eventProvider, workDir, javaVMs, statisticsProvider, tldScanTime, state, children, modelerType, delegate, mappingObject, startupTime, crossContext, welcomeFiles, logger, path, cookies, reloadable, defaultContextXml, objectName, antiResourceLocking, cacheMaxSize, defaultWebXml, server, allowLinking]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=Status Servlet, type=(ComponentType

      {type=MBean, subtype=Servlet}), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=Status Servlet, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=jsp, type=(ComponentType{type=MBean, subtype=Servlet}

      ), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=jsp, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]
      +++ ManagedComponent(name=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=default, type=(ComponentType

      {type=MBean, subtype=Servlet}

      ), compName=jboss.web:J2EEApplication=none,J2EEServer=none,WebModule=//loleary/,j2eeType=Servlet,name=default, attachment: null
      ++++++ properties: [minTime, eventProvider, objectName, statisticsProvider, processingTime, engineName, maxTime, errorCount, modelerType, loadTime, stateManageable, classLoadTime, requestCount]

      When accessing the Web Application Contexts for ROOT.war from admin-console the following error is captured in server.log:

      ERROR [MeasurementManager] Could not get measurement values
      java.lang.IllegalStateException: Failed to find [ComponentType

      {type=MBean, subtype=WebApplicationManager}

      ] ManagedComponent named [jboss.web:host=loleary,path=/,type=Manager].
      at org.rhq.plugins.jbossas5.ManagedComponentComponent.getManagedComponent(ManagedComponentComponent.java:365)
      at org.rhq.plugins.jbossas5.ManagedComponentComponent.getValues(ManagedComponentComponent.java:227)
      at org.rhq.plugins.jbossas5.WebApplicationContextComponent.getValues(WebApplicationContextComponent.java:156)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:616)
      at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:636)

      Attachments

        Issue Links

          Activity

            People

              emuckenhuber_jira Emanuel Muckenhuber (Inactive)
              rhn-support-loleary Larry O'Leary
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: