I sent this in over the weekend and didn't get a response so let me try this again a bit differently.

The Sun JDK 5.0 JMX tutorial shows that it is possible and simple to create JMX client and JMX server in separate JVMs and have them talk to each other.

The first article cited by Mr. Hall shows that it is possible and simple to create a JMX server running inside Tomcat and talk to it through tools such as MC4J and JManage.

I need to combine the Server side approach recommended by the article (JMX server within Tomcat webapp) with the Client side approach recommended by Sun in their tutorial. So far my client-side app can connect to the MBean server inside of Tomcat and talk to it but it fails to create the MBean needed to interact with the server because of ClassLoader issues.

Questions: 1. Is this even possible? It would seem to be so since MC4J and JManage know how to do it.
2. If so, how do I surmount these ClassLoader issues?

Thank you very much.

Steve Cohen wrote:
Okay using approach of first article. The MBean server is correctly initialized and everything on the server side looks good.

Now we come to the client side. The first article assumes you are just going to connect using a tool such as MC4J or JManage (monitoring tools).

That is not my use case. I want to write a command-line client that can talk to the MBean (which is inside of Tomcat) and invoke an operation on the MBean.

I use the Client.java sample from the Sun tutorial as a starting point.

I am able to connect to the server, and get a list of MBeans, but I fail when trying to call createMBean(). I am using the simple two-parameter version of createMBean() and it always fails with

javax.management.ReflectionException: The MBean class could not be loaded by the default loader repository

It seems pretty clear that my client needs to use one of the other versions of createMBean(), one that specifies some other Class Loader but I have no clue what I should be using for that.


H. Hall wrote:
Steve Cohen wrote:
Let me ask my question a little more directly:

Does the presence of a descriptor cause instantiation of an instance of an MBean or do I have to write code to create a server-side instance of my MBean and if so, where should this code reside or is there some configuration artifact that causes this instantiation to happen?



Why don't you take a look at these two articles:
http://today.java.net/pub/a/today/2005/11/15/using-jmx-to-manage-web-applications.html?page=1

http://marxsoftware.blogspot.com/2008/07/jmx-model-mbeans-with-apache-commons.html

If you use the NetBeans IDE you might be interested in the JMX plugin for NB. Here is a link to a tutorial "Getting Started with JMX Monitoring in NetBeans IDE 6.0"

http://www.netbeans.org/kb/60/java/jmx-getstart.html

cheers,
HH




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to