I'm not sure what you mean by instrumenting but I have a number of JMX agents which act as clients to EJBs. This is very convenient as threds/io etc are allowed in JMX and these start automatically with the app server. No more manual starting up of proactive agent services.
There main problem with this so far are:
* The client must wait a little while before using the EJBs as JMX is started well before the container has deployed any EJBs.
* There needs to be a nice way to package and deploy JMX like with EJB. Can anyone tell me if JBoss 3.x does this - I am currently still using 2.4.x.
As a work around I have an agent launcher JMX which scans all jar meta-inf looking for config files for my agents and loads and initialises the appropriate classes. This way I have a single JMX for all my agents. I can simply add a new agent by putting it in /lib/ext and it will run.
What kind of operations can you perform on the EJB's using your JMX agents. I asume you can invoke some business methods.
Can you receive notifications from the EJB's???
Can you elaborate a bit more on your JMX agents signatures.
Is your JMX agent(s) deployed to JBoss as Services? If so in JBoss 3.x; you can deploy the jmx-mbean .sar files in your .ear file along with the ejb .jar files.
You can also define dependencies to deploy ejb modules before the agents.
It sounds like you're not using JMX to manage your EJBs, but more using it as a work-a-round to access your EJBs?
> * There needs to be a nice way to package and deploy
> JMX like with EJB. Can anyone tell me if JBoss 3.x
> does this - I am currently still using 2.4.x.
Look into the SAR file format and SAR deployer in 3.x