[jboss-dev-forums] [Design of AOP on JBoss (Aspects/JBoss)] - Modularising the appserver bootstrap
adrian@jboss.org
do-not-reply at jboss.com
Mon Sep 15 09:52:49 EDT 2008
WRT: https://jira.jboss.org/jira/browse/JBAS-5535
I never really followed up on this, but the reason why this issue has stalled
is because AOP is introducing a ciruclar dependency in the bootstrap.
AspectManager -> scoping policy -> deployment unit -> main deployer -> jmx -> aop (via @JMX)
This means we can't properly setup the bootstrap classloaders to be modular,
see the FIXMEs in conf/classloader.xml
| <classloader name="bootstrap-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
| <!-- FIXME Move to Deployers -->
| <root>${jboss.lib.url}/jboss-deployers-core-spi.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-core.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-client-spi.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-client.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-structure-spi.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-spi.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-impl.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</root>
| <root>${jboss.lib.url}/jboss-deployers-vfs.jar</root>
| <!-- System -->
| <root>${jboss.lib.url}/jboss-system.jar</root>
| <!-- FIXME Move to JMX -->
| <root>${jboss.lib.url}/jboss-j2se.jar</root>
| <root>${jboss.lib.url}/jboss-mbeans.jar</root>
| <root>${jboss.lib.url}/jboss-jmx.jar</root>
| <root>${jboss.lib.url}/jboss-system-jmx.jar</root>
| <root>${jboss.lib.url}/dom4j.jar</root>
| <!-- JAXB impl here, api is in endorsed -->
| <root>${jboss.lib.url}/jaxb-impl.jar</root>
| <!-- STAX2 impl here, api is in endorsed -->
| <root>${jboss.lib.url}/wstx.jar</root>
| </classloader>
|
The fix would to refactor the VFSClassLoaderScopingPolicy
such that the deployment logic is in the deployers which just invoke the
registerClassLoader()
i.e. remove its dependency on the deployment layer
That way we can bootstrap the AspectManager before the deployers and JMX
are even loaded and it becomes independent of this implementation detail.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176518#4176518
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176518
More information about the jboss-dev-forums
mailing list