I've made a start on modularising the appserver bootstrap,
as expected there are some subtle problems laying in wait.
CHANGE
First, what I've done is replaced bootstrap-beans.xml with a bootstrap.xml
that confirms to the this simple schema:
https://svn.jboss.org/repos/jbossas/trunk/bootstrap/src/resources/schema/jboss-bootstrap_1_0.xsd
The idea being that the other modularised files are loaded in the order given.
This makes the changes to the profile service to use a repository rather a lot easier.
See bootstrap-repo.xml which swaps profile-service.xml for profile-service-repository.xml
ISSUES
Obviously there's some circular references that need to be setup in the correct
order to avoid "chicken and egg" problems. This includes making the sure the
main "repositories"
* ClassLoading (classloading modules)
* AspectManager (aop config)
* MainDeployer (structure/normal deployers)
are configured first so they can accept other services that get registered later
(the things in brakets).
A good example of this, is that the @JMX aspect won't work if something
annotated with it is deployed before the AspectManager.
But then the AspectManager itself needs to be registered with JMX also
which is a sort of circular reference.
Less obvious is that AOP has some dependencies in the classloading
(ServiceMBean* and deployers) that need fixing before I can proceed
with further modularisation.
I moved the aop issue to here:
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=142379