I just checked in the root plugin classloader stuff. Lots of changes. I did a full
enterprise clean build and ran the full test suite (took 16 minutes to build) - all tests
pass. I ran the agent and did a quick smoke test - imported RHQ Agent, Jopr Server and
Postgres. Things look to be working (this did NOT magically happen :) I had lots of
code/fix iterations to get this right).
Here's a few things you need to know:
1) Somehow we allowed plugins to access the clientapi module (i.e. some plugins had a
dependency on clientapi jar). This is wrong and should not have been. clientapi is
strictly for agent<->server. The plugins should only access the plugin-api jar
(plugin-api is for agent<->plugins). I removed all of those dependencies both RHQ
and Jopr plugins and things build - all but ONE! The JbossAS-5 plugin. If you try to run
that on the latest code, you will get a NoClassDefFoundError - you need to refactor out
all dependency on clientapi.
2) I don't think embedded Jopr needs to do anything special - the default should be
that the root plugin classloader does not hide any classes from the plugins (everything
should load like it did before). I need the embedded jopr guys to smoke test this.
3) tomcat plugin needs testing due to my removal of its dependency on the platform plugin
(again, that was not supposed to be - I fixed that). Jay - let me know how that testing
goes. Just inventory things and see if you can collect metrics and maybe execute a
command. If you can without getting any NoClassDefFoundErrors, you are good to go.
Any problems, ping me. Let me know if you get any NoClassDefFoundErrors now. I'm now
off to trying to get the "classloader per resource instance" to work.
Show replies by date