I am kind of new to JMX, but could somebody elaborate the advantages of using JMX over other technologies like EJB? I have read the tutorial and concepts from Sun's website, and it seems to me that the whole concept of JMX is to wrap one application or resource as MBean, register it with JMX server, and then invoke the corresponding methods from somewhere else. However, similar steps have already been taken by EJB.
Furthermore, if the whole application is on one server, which is the most common scenario, you can easily pack the resources or sub-applications as regular Java Beans, and then use them directly without worrying about the JMX server.
Probably I am just not clear what problem JMX is trying to address.
Thanks in advance!
JMX has the most use in places where u want to change some parameters of Ur application dynamically. If u were to package some properties in a ejb jar and deploy it, there is no way to change these parameters on the fly without redeployment. Things like log level etc. that need to be changed on the fly are the best candidates that fit the JMX realm.
ejb and jmx are not competing technologies. you use ejb to implements business logic (with session beans) or persistence (with entity beans) or a message receiver (with message beans) and you use JMX to monitor and dynamically configure your applications. The thing with JMX is that in theory, there are plenty professional grade monitoring and administration tools that can discover your mbeans and talk to it in a more or less automatic way.
Emil ( http://testare.dev.java.net )