o Is the jboss.esb lib directory the only recommended place to put component libraries? It's certainly possible to put it in one of the higher level AS lib directories. Is it possible to bundle them with the ESB application? Do we recommend against these other methods?
Right now it is recommended to put component libraries in server/default/deploy/jbossesb.sar/lib/ for AS4 and server/default/deployers/esb.deployer/lib/ for AS5, because that is all that has been tested with so far. ;) I might go back and give the other options a try if I have time, but right now there are pleny of other 4.9 issues that need to be addressed first.
o Component jars in the jboss.esb lib directory will be loaded during server startup. Correct me if I'm wrong, but adding additional jars here will require the ESB sar to be redeployed or (more likely) the server restarted. Might want to point this out.
Are you saying add it to the wiki page? That's fine. I will note that I don't think that this is a problem. If you are adding component jars, then you are most likely adding non-trivial (aka: important) functionality - functionality that in the real world should go through an organization's standard test + release cycles. "Hot deploy" is a nice feature for developers, but in my experience production systems get "bounced" when adding this level of functionality.
o Having a single class loading space for additional components means that there can only be one version of a component in the ESB runtime at any given time. Probably worth mentioning this point.
True, but this would not be the first place in the ESB (or AS, for that matter) where there is "a" version of a library.
o There is a distinct possibility that one of the many camel components will include jars that we already have in the ESB or the AS already. If the versions of these dependencies are different than things can go boom. Isolating the class space with class loader repository might be one way to address this. Another way to address it is to say "YMMV". ;-)
Jumping through the dependency hoops is something that we all are used to. I'm not saying we shouldn't try to make this easier, or try things like class loader isolation and such - we definitely should. But again, we need to wrap up the other 4.9 issues first.