Enterpriser Server Jar Naming - Fix

John Mazzitelli mazz at redhat.com
Thu Jul 18 15:25:39 UTC 2013


> We could also move the ear to $RHQSERVER/rhq-deploy/ and tell the deplyoment
> scanner while installing to also scan that directory.
> This should also help a lot with the length of paths.
> Also all those rhq-downloads could also be put next to the rhq.ear
> 
> I mean now is a good point in time for such changes

I also want to be clear - since you used the term "deployment scanner" - we are explicitly not using the JBossAS deployment scanner mechanism to deploy the rhq.ear. We did this as per Brian Stansberry's recommendations (for a couple reasons).

In fact, this startup module code originated from a prototype written by Brian. This startup module is all about deploying the ear without going through the hot-deployment mechanism of the AS deployment scanner (i.e. putting ears and wars in the JBossAS's /deployments directory). Actually, our installer disables the deployment scanner - so no one can hot deploy anything in an RHQ Server.

As to why it is under the modules/ directory and not under, say, $RHQSERVER/rhq-deploy or whatever - it is because the startup extension uses the AS7 extension API to find the rhq.ear directory (similar to how ClassLoader.findResources() finds things in a classpath, AS7 has an API to find things under a particular module location - see org.rhq.enterprise.startup.StartupSubsystemAdd.populateModule and its use of PathAddress.pathAddress() and Module.getExportedResource()).

Not only that but in addition, having it under the module/ main directory makes it patchable using the new patch mechanism that will be introduced and used in future versions of EAP (this, again, is per Brian's recommendation). Moving it outside of that will probably make our stuff unpatchable using the new patch mechanism that will be coming in the future.

So, as you can see, I didn't just throw this stuff together arbitrarily without any thought put into it :-) There are reasons why the ear is where it is and why this startup module exists in the first place.


More information about the rhq-devel mailing list