[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: ClassLoader injection Scope issue

alesj do-not-reply at jboss.com
Tue Oct 28 10:54:32 EDT 2008


"alesj" wrote : 
  | "adrian at 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#4185118

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185118



More information about the jboss-dev-forums mailing list