[jboss-dev-forums] [Design the new POJO MicroContainer] - NPE in CLSpace

alesj do-not-reply at jboss.com
Thu Dec 4 18:05:50 EST 2008


DML found this NPE in CLSpace:
 - http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194484#4194484

Take this three config files

  | <classloading name="jboss-threads-classloader" version="1.0.0.Alpha" xmlns="urn:jboss:classloading:1.0">
  |     <capabilities>
  |         <module name="jboss-threads" version="1.0.0.Alpha"/>
  |         <package name="org.jboss.threads" version="1.0.0.Alpha"/>
  |     </capabilities>
  |     <requirements/>
  | </classloading>
  | 
  | <classloading name="jboss-threads-deployer-classloader" version="1.0.0.Alpha" xmlns="urn:jboss:classloading:1.0">
  |     <requirements>
  |         <module name="jboss-threads"/>
  |        <package name="org.jboss.deployers.vfs.deployer.kernel"/>
  |         <package name="org.jboss.deployers.vfs.spi.deployer"/>
  |     </requirements>
  | </classloading>
  | 
  | <classloading name="jboss-kernel-classloader" version="2.0.0.GA" xmlns="urn:jboss:classloading:1.0" import-all="true">
  |     <capabilities>
  |        <package name="org.jboss.deployers.vfs.deployer.kernel"/>
  |         <package name="org.jboss.deployers.vfs.spi.deployer"/>
  |     </capabilities>
  |     <requirements/>
  | </classloading>
  | 
And you end up with

  | JBoss-MC-Demo ERROR [04-12-2008 23:56:08] AbstractKernelController - Error resolving dependencies for ClassLoader: name=vfsfile:/C:/projects/demos/sandbox/deployers/ state=Describe mode=Manual requiredState=ClassLoader
  | java.lang.NullPointerException
  | 	at org.jboss.classloading.spi.dependency.ClassLoadingSpace.resolve(ClassLoadingSpace.java:325)
  | 	at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:122)
  | 	at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:169)
  | 	at org.jboss.classloading.spi.dependency.ClassLoadingSpace.resolve(ClassLoadingSpace.java:325)
  | 	at org.jboss.classloading.spi.dependency.Module.resolveModule(Module.java:737)
  | 	at org.jboss.classloading.spi.dependency.RequirementDependencyItem.resolve(RequirementDependencyItem.java:87)
  | 	at org.jboss.dependency.plugins.AbstractDependencyInfo.resolveDependencies(AbstractDependencyInfo.java:143)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1103)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1039)
  | 	at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)
  | 	at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)
  | 	at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)
  | 	at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:545)
  | 	at org.jboss.demos.bootstrap.MainDeployerHelper.process(MainDeployerHelper.java:86)
  | 

The cause is the CLMD/module with import-all="true" and this code in Domain::addModule

  |          // Skip the classloader space checking when it is import all
  |          if (module.isImportAll() == false)
  |          {
  |             ClassLoadingSpace space = new ClassLoadingSpace();
  |             space.join(module);
  |          }
  | 
Module never joins any CLSpace.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4194491#4194491

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



More information about the jboss-dev-forums mailing list