jbossejb-3.0monitoringjmxjboss-esb

Jboss EAR with EJB and webservice health monitoring and management


I am using Jboss5.1 and I have a EAR1 deployed which has a EJB3 component implemented using @Stateless annotation and the same EJB is also exposed as webservice using the annotation @webservice.

I want to check through a EJB service/management service bean(Packaged in another EAR2) from the start of deployment to un-deployment of EAR1 PERIODICALLY, if the EJB and Webservice is deployed and running properly and working normally and is not in deadlock/non responsive state.

I have looked into JMX and I am able to get notifications of create and destroy for EJB as well as webservice, but how to check periodically whether the EJB and webservice is working normally and is not in deadlock/non responsive state?

Also how to monitor Jboss ESB services?

Is the JMX is the only way or does jboss provides any other API's to do monitoring how about JBOSS MONITORING

Thanks in advance if you are looking at this.


Solution

  • Especially JBoss AS5.x is using the so called profile service (PS) as the main way to interact with the server. Unfortunately the PS is not JMX-based and on the other side you don't see all EJBs in the Platform MBean server.

    RHQ has a plugin to monitor EJB instances inside AS5 as well as for other resource types like JBoss ESB or Apache Tomcat and is able to determine the availability of EJBs.

    but how to check periodically whether the EJB and webservice is working normally and is not in deadlock/non responsive state?

    This is usually something that you can (only)(*) determine by hitting the relevant beans/methods and evaluating the outcome.

    *) It may be possible to determine a bean in a deadlocked state by requesting a heap dump and looking for deadlocked periodically.