"alesj" wrote :
| "adrian(a)jboss.org" wrote :
| | I quote "circular dependency" because it is not really a circular
dependency,
| | what actually happens is that the classloader (which automatically has
classloader=null)
| | gets re-ordered to be before the ClassLoading being deployed and so it won't
get
| | registered using the incallback before you want to want to do
| | "ClassLoading".getClassLoader().
| |
| | Or more schematically:
| | 1) deploy ClassLoading
| | 2) deploy ClassLoader
| | 3) ClassLoading depends on ClassLoader (because classloader != null)
| | 4) ClassLoading Module for ClassLoader is created but not registered with
| | ClassLoading (no incallback yet)
| | 5) Try Configurator.getBeanMetaData("ClassLoading") // ERROR it
didn't go through the ClassLoading!
| | 6) If (5) worked then it would register the incallback for
"ClassLoading"
| | and the ClassLoader would properly be constructed.
| |
| | NOTE (5) could also be any request to get the classloader if its
ClassLoadingModule
| | hasn't been registered with ClassLoading to resolve and create the
classloader.
| Is this all about how classloader.xml is eventually deployed/installed?
| Since I don't see how it's related to my problem.
My problem of not getting this is mostly related to names. :-)
As I don't follow what exactly is classloader/ClassLoader.
e.g. when do you refer to classloader schema element, when to element, real/bean's cl,
... :-)
JBossAS's classloader.xml
| <deployment xmlns="urn:jboss:bean-deployer:2.0">
|
| <classloader><inject
bean="bootstrap-classloader:0.0.0"/></classloader>
|
| <!--
| The classloader implementation
| -->
| <bean name="ClassLoaderSystem"
class="org.jboss.classloader.spi.ClassLoaderSystem">
| <classloader><null/></classloader>
| <constructor
factoryClass="org.jboss.classloader.spi.ClassLoaderSystem"
factoryMethod="getInstance"/>
| </bean>
|
| <!--
| ClassLoader management and resolution
| -->
| <bean name="ClassLoading"
class="org.jboss.classloading.spi.dependency.ClassLoading">
| <classloader><null/></classloader>
| <incallback method="addModule" state="Configured"/>
| <uncallback method="removeModule"
state="Configured"/>
| </bean>
|
| <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>
|
| </deployment>
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185118#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...