Thursday, June 5, 2014

RHQ: monitoring JMX beans of a Java EE application deployed on Wildfly 8

You may already have read my post on monitoring JMX beans of a Java EE application deployed on EAP 6 ? And maybe wondered how to do the same with Wildfly 8?

Well it's possible now with a master branch build of RHQ (the feature will be released with RHQ 4.12). A couple of problems had to be addressed.

Firstly, we needed proper support for Wildfly monitoring. RHQ was able to discover Wildfly servers as such, but failed to monitor them as soon as they were added to inventory. This was due to a wrong product name check in AS7 / Wildfly8 plugin.

Secondly, the ApplicationMBeansDiscoveryComponent class needed  an update to take Wildfly management and port changes into account:
  • single port for management and remoting on a standalone server (HTTP upgrade)
  • single port for applications and remoting on a managed server in domain mode (HTTP upgrade again)
  • new JMX service transport ("http-remoting-jmx")
Also, the Wildfly version of jboss-client.jar (required to support "http-remoting-jmx" transport) has class loading issues with RHQ's AS7 / Wildfly8 plugin. So we had to update our EMS[1] library connection descriptor to isolate the connection classes loader.

The new feature has been tested with Widfly 8.1.0.CR2 in standalone and domain mode but since WildFly 8.1.0.Final was released recently, we'd be glad if you give it a try and come with feedback on the RHQ forum!

[1] RHQ uses the EMS library to simplify its JMX connectivity code.