View Original Entry · David Whitehurst
I recently had a request to turn on JBoss remoting for a remote test team to do performance monitoring. I'm still asking what they plan to monitor.
Anyhow, the exact need was for a URL just like the one that WebLogic 9 provides for Hewlett-Packard's Sightscope JMX Monitor. Well, that URL doesn't seem to exist for JBoss. Immediately I start with the questions. I need answers.
Are you planning on writing client software to use RMI through port 1099? I think we turned that port off. Do you need the namespace for the JNDI string to access the context for RMI access? As the questions are being asked, I'm realizing that this has more and more to do with fact that HP Sightscope, a monitoring tool (very expensive) is available to my client and the goal is to use the software that we have if possible. And, for that matter, just because it monitors another J2EE server, BEA's WebLogic 9 doesn't mean we just hook up the leads and let the measurements begin.
After some initial irritation, I took the challenge to learn a little more about the fact that I knew (many versions ago) that JBoss never implemented JMX in a manner that made it easy for other vendors to inspect their MBean server. Java Specification Request (JSR)-160 Java Management Extensions (JMX) Remote API was written to satisfy this very need. An API was needed to provide hooks into Java processes, classes, threads, et al. This way server vendors can implement this API thereby providing hooks for remote control and monitoring of application servers. The initial specification and several versions thereafter have provided room for interpretation of this specification. JBoss does comply with this specification, however, their implementation does not provide connectors for JMX-compliant management applications to use. JBoss does, however, provide it's own JMX console application with every server download.
While the public may discuss concerns that JBoss does not provide connectors for JMX specification-compliant management of its server, I want my next statement to be very clear and well understood. JBoss does comply with JSR-160. Their adherence to the spec is defined by the following statement taken from the spec itself, "The RMI connector is the only connector that must be present in all implementations of this specification.". That is exactly what JBoss provides.
JBoss provides access to the server context via the Java Naming and Directory Interface (JNDI) (context-by-namespace) and by using the server context, Remote Method Invocation (RMI) is available to Java clients. The MBean server implemented at BEA for WebLogic is probably very different. And, I assume that their implementation allows for remote access and monitoring using JMX-compliant management applications. The public should understand that the JBoss MBean server design may or may not have been a strategic decision.
JBoss did release a product years ago called JBoss Remoting to simplify the issue of control and management of the server. Why would JBoss add another protocol to the Java EE plethora such as existed RMI, EJB, and Web Services? Maybe they want to keep server monitoring within their ownership. They do not owe us anything. Their source is open and as long as it remains open, my guess would be that they won't play well with others. Thank you JBoss. It's good for business.
The answer to my initial question, "can JBoss be setup to support monitoring using HP Sightscope? No.
