[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