1 2 Previous Next 27 Replies Latest reply on Nov 23, 2011 9:28 AM by vkaligari

    Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?

    hauch

      I have made a bundle of JBoss 5.1.0.GA and ESB 4.7 as described in documentation, and (almost) everything seems to work.

       

      There is just one minor issue:

      When I load the admin console (http://localhost:8080/admin-console) I get the following error:

       

      09:49:23,792 ERROR [RuntimeDiscoveryExecutor] Error in runtime discovery

      java.lang.NoClassDefFoundError: org/rhq/plugins/jmx/MBeanResourceDiscoveryComponent

       

      Looking in rhq-jbossesb-plugin-2.3.1-as5.jar I can see that this depends on the JMX plugin, which seems to be missing.

       

      This means of course that I am unable to see JBoss ESB info the console, which would have been a very fine feature.

       

      Can this be solved by simply adding the missing plugin, and if so where can I find it an appropriate version?

        • 1. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
          jdestef

          Hi,

           

          I have the same issue. I downloaded rhq-jmx-plugin-1.3.0.GA.jar from the jboss maven repository and put it in the plugins directory of the admin-console on <jbossAS5>/server/default/deploy. I changed the rqh-plugins.xml of the  rhq-jbossesb-plugin-2.3.1-as5.jar file so the runs-inside element looks like this : <runs-inside><parent-resource-type name="JMX Server" plugin="JMX"/><parent-resource-type name="JBossAS Server" plugin="JBossAS5"/></runs-inside>.

           

          I get an error as follows:

           

          Failure during discovery for [ESB] Resources - failed after 28 ms.
          java.lang.Exception: Discovery component invocation failed.
              at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:248)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:619)
          Caused by: java.lang.ClassCastException: org.rhq.plugins.jbossas5.ApplicationServerComponent cannot be cast to org.rhq.plugins.jmx.JMXComponent
              at org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent.discoverResources(MBeanResourceDiscoveryComponent.java:96)
              at org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent.discoverResources(MBeanResourceDiscoveryComponent.java:84)
              at org.jbosson.plugins.jbossesb.ESBDiscoveryComponent.discoverResources(ESBDiscoveryComponent.java:20)
              at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:244)
              ... 5 more
          10:39:56,243 WARN  [InventoryManager] Failure during discovery for [ESB] Resources - failed after 1 ms.
          java.lang.Exception: Discovery component invocation failed.
              at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:248)
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:619)
          Caused by: java.lang.ClassCastException: org.rhq.plugins.jbossas5.ApplicationServerComponent cannot be cast to org.rhq.plugins.jmx.JMXComponent
              at org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent.discoverResources(MBeanResourceDiscoveryComponent.java:96)
              at org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent.discoverResources(MBeanResourceDiscoveryComponent.java:84)
              at org.jbosson.plugins.jbossesb.ESBDiscoveryComponent.discoverResources(ESBDiscoveryComponent.java:20)
              at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:244)
              ... 5 more

           

           

          Obviously this was not the right approach. Does anyone have any ideas on this?

           

          Thx

          • 2. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
            jdestef

            Hi,

             

            Would it be best to open up a jira on this issue? I see others have had the same problem and it doesn't seem to be reolved.

             

            Thx

            • 3. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
              massios

              Hello,

               

              I have the same problem. Look at my post "admin-console and esb 4.7" from January the 14th and I noticed that there are some jars missing from the admin console of 4.7 (if you compare it with the one from 4.6).

               

              Nikos.

              • 4. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                kconner

                Try installing the following admin console into the AS 5.1.0 server before installing ESB, there are some missing items from the one shipped in AS 5.1.0.

                 

                http://repository.jboss.org/maven2/org/jboss/jopr/jopr-embedded-jbas5/1.3.2.GA/jopr-embedded-jbas5-1.3.2.GA.war

                 

                Explode that war file into a directory called admin-console.war.

                1 of 1 people found this helpful
                • 5. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                  hauch

                  Hi Kevin

                   

                  Thanks for the reply.

                   

                  Do you mean that I should

                  1. Start with a clean 5.1.0.GA

                  2. Copy the war to deploy

                  3. Add the ESB

                  ?

                  • 6. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                    kconner

                    Sorry, your are right, reinstalling the ESB is a bit severe.

                     

                    All you really need to do is unpack the contents of that war file into a clean admin-console.war directory and then add the jbossesb plugin.

                     

                    You should then have the right console base to use the esb plugin.

                    • 7. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                      massios

                      Hello,

                       

                      I downloaded the console version you suggested and replaced the admin-console.war with the contents of the zip file in a fresh admin-console.war directory.

                       

                      I then added the rhq-jbossesb-plugin-2.3.1-as5.jar file into the plugins directory of the new admin-console.war and started the server.

                       

                      It does not work and I get even less information that I did before (probably because the JMXDiscoveryComponent fails completely)

                       

                      This is some server output from the new console

                      --------------------------------

                      10:47:39,703 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 35s:141ms
                      10:49:59,468 INFO  [ServletContextListener] Welcome to Seam 2.1.0.SP1
                      10:50:02,375 WARN  [Component] Component class should be serializable: org.jboss.seam.ui.facelet.mockHttpSession
                      10:50:02,390 WARN  [Component] Component class should be serializable: sessionInfoAction
                      10:50:02,406 WARN  [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
                      10:50:17,468 INFO  [BootstrapAction] Initializing Administration Console v1.3.2.GA...
                      10:50:19,078 WARN  [SystemInfoFactory] System info API not accessible on this platform (native shared library not found in java.library.path).
                      10:50:19,156 INFO  [PluginContainerResourceManager] Discovering Resources...
                      10:50:19,203 WARN  [JMXDiscoveryComponent] Unable to complete base jmx server discovery (enable DEBUG for stack): java.lang.UnsupportedOperationException: No native library available - Cannot get the process table information without native support
                      10:50:19,281 ERROR [PluginContainerResourceManager] Service cannot be created since no servers are found in the platform

                      -------------------------------

                       

                      I noticed that the new administration console v1.3.2.GA while the original console is v1.2.0 GA

                       

                      This is some output from the old console v1.2.0 GA

                      --------------------------------------------

                      11:04:54,921 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 36s:203ms
                      11:05:11,609 INFO  [ServletContextListener] Welcome to Seam 2.1.0.SP1
                      11:05:15,031 WARN  [Component] Component class should be serializable: org.jboss.seam.ui.facelet.mockHttpSession
                      11:05:15,062 WARN  [PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
                      11:05:32,312 INFO  [BootstrapAction] Initializing Administration Console v1.2.0.GA...
                      11:05:32,984 WARN  [PluginDependencyGraph] Plugin [JMX] does not yet exist in the dependency graph to satisfy [JBossESB]
                      11:05:33,328 WARN  [SystemInfoFactory] System info API not accessible on this platform (native shared library not found in java.library.path).
                      11:05:33,421 INFO  [PluginContainerResourceManager] Discovering Resources...
                      11:05:34,421 WARN  [AbstractManagedObjectPopulator] Cannot create String name from non-Simple property: ManagedProperty{JNDIName,JNDIName,metaType=SimpleMetaType:java.lang.String}, value=null
                      11:05:34,421 WARN  [AbstractManagedObjectPopulator] Cannot create String name from non-Simple property: ManagedProperty{JNDIName,JNDIName,metaType=SimpleMetaType:java.lang.String}, value=null
                      11:05:35,937 ERROR [RuntimeDiscoveryExecutor] Error in runtime discovery java.lang.NoClassDefFoundError: org/rhq/plugins/jmx/MBeanResourceDiscoveryComponent
                              at java.lang.ClassLoader.defineClass1(Native Method)
                              at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
                              at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
                              at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
                              at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
                              at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
                              at java.security.AccessController.doPrivileged(Native Method)
                              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
                              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
                              at java.lang.Class.forName0(Native Method)
                              at java.lang.Class.forName(Class.java:247)
                              at org.rhq.core.pc.plugin.PluginComponentFactory.instantiateClass(PluginComponentFactory.java:125)
                              at org.rhq.core.pc.plugin.PluginComponentFactory.getDiscoveryComponent(PluginComponentFactory.java:78)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:205)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.runtimeDiscover(RuntimeDiscoveryExecutor.java:134)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:94)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:51)
                              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
                              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
                              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                              at java.lang.Thread.run(Thread.java:619)
                      Caused by: java.lang.ClassNotFoundException: org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent
                              at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                              at java.security.AccessController.doPrivileged(Native Method)
                              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
                              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
                              ... 26 more
                      11:05:36,171 ERROR [RuntimeDiscoveryExecutor] Error in runtime discovery
                      java.lang.NoClassDefFoundError: org/rhq/plugins/jmx/MBeanResourceDiscoveryComponent
                              at java.lang.ClassLoader.defineClass1(Native Method)
                              at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
                              at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
                              at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
                              at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
                              at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
                              at java.security.AccessController.doPrivileged(Native Method)
                              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
                              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
                              at java.lang.Class.forName0(Native Method)
                              at java.lang.Class.forName(Class.java:247)
                              at org.rhq.core.pc.plugin.PluginComponentFactory.instantiateClass(PluginComponentFactory.java:125)
                              at org.rhq.core.pc.plugin.PluginComponentFactory.getDiscoveryComponent(PluginComponentFactory.java:78)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:205)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.runtimeDiscover(RuntimeDiscoveryExecutor.java:134)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:94)
                              at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:51)
                              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
                              at java.util.concurrent.FutureTask.run(FutureTask.java:138)
                              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
                              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
                              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
                              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
                              at java.lang.Thread.run(Thread.java:619)
                      Caused by: java.lang.ClassNotFoundException: org.rhq.plugins.jmx.MBeanResourceDiscoveryComponent
                              at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                              at java.security.AccessController.doPrivileged(Native Method)
                              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
                              at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
                              at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
                              ... 26 more

                      • 8. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                        kconner

                        Strange, this is the version we are using in the upcoming SOA 5 release.

                         

                        I'll check what is happening and get back to you soon.

                         

                        Kev

                        • 9. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                          kconner

                          It is expecting to find the profile service in a different JNDI location, which is why it is not working.

                           

                          You also need to change the references in profileservice-jboss-beans.xml and profileservice-secured.jar/META-INF/ejb-jar.xml so that ProfileService is replaced by java:ProfileService.

                           

                          Having done this I can see the loca server in my version.

                          • 10. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                            massios

                            Hello Kevin,

                             

                            I changed ProfileService to java:ProfileService as you instructed and the admin-console now works.

                             

                            Thanks,

                             

                            Nikos.

                            • 11. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                              hauch

                              Thanks for the help. It now works.

                               

                              Since I started this, I think I owe to summarize the solution:

                               

                              Starting with a clean 5.1.0.GA+ESB 4.7 bundle:

                               

                              1. Backup deploy/admin-console.war/plugins/rhq-jbossesb-plugin-2.3.1-as4.jar
                              2. Remove the deploy/admin-console.war
                              3. Extract http://repository.jboss.org/maven2/org/jboss/jopr/jopr-embedded-jbas5/1.3.2.GA/jopr-embedded-jbas5-1.3.2.GA.war into a new folder deploy/admin-console.war
                              4. Copy rhq-jbossesb-plugin-2.3.1-as4.jar back into deploy/admin-console.war/plugins/
                              5. In deploy/profileservice-secured.jar/META-INF/ejb-jar.xml:  change <res-ref-name>profileService</res-ref-name> to <res-ref-name>java:profileService</res-ref-name> (3 occurences)
                              6. In deploy/profileservice-jboss-beans.xml: Change <property name="jndiName">ProfileService</property> to <property name="jndiName">java:ProfileService</property> (1 occurence)

                               

                               

                              • 12. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                                bschwartz

                                Why is this still happening almost a year later?  JBoss 5.1.0.GA and ESB 4.8.

                                • 13. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                                  bschwartz

                                  I have followed the instructions given by Morten and am now still receiving the following ERROR:

                                   

                                  INFO     [BootstrapAction] Initializing Administration Console v1.3.2.GA...

                                  WARN  [SystemInfoFactory] System info API not accessible on this platform (native shared library not found in java.library.path).

                                  WARN  [JMXDiscoveryComponent] Unable to complete base jmx server discovery (enable DEBUG for stack): java.lang. UnsupportedOperationException: No native library available - Cannot get the process table information without native support

                                  ERROR  [PluginContainerResourceManager] Service cannot be created since no servers are found in the platform

                                   

                                  What do I need to do to resolve this ERROR?

                                   

                                  Thank you very much.

                                  • 14. Re: Missing jmx plugin in JBoss 5.1.0.GA+ESB 4.7 ?
                                    kcbabo

                                    I just confirmed that Morten's instructions work with ESB 4.8 and JBoss AS 5.1.0.  Do you see the JBoss ESB node in the admin tree when you view admin console?


                                    Re: the WARN message, it's a warning and not an error.  There have been a  number of issues raised in reference to this error if you search JIRA.  Here's en excerpt from one of them:

                                    This message relates to the inability of RHQ to perform process table scans as SIGAR, which is
                                    used to monitor external processes, is not packaged with RHQ. The message is returned due to the
                                    fact that RHQ is embedded in the administration console. The message can therefore be ignored as
                                    external process monitoring is not a function performed by the administration console.

                                     

                                    Re:  "Why is this still happening almost a year later?", it's because the  community version of the AS you are using is exactly the same.  This is  an issue with JBoss AS 5.1.0 and not something specific to the ESB.

                                    1 2 Previous Next