[jboss-dev-forums] [Design the new POJO MicroContainer] - Re: Generated Classes not found if they do not match any of
kabir.khan@jboss.com
do-not-reply at jboss.com
Wed Mar 11 13:29:33 EDT 2009
Here is the first problem, when running with importAll=false
| public void testExplicitImportGenerateClassInExistingPackage() throws Exception
| {
| runExplicitImportGenerateClass(EXISTING_PACKAGE, true);
| }
|
| private void runExplicitImportGenerateClass(GeneratedClassInfo info, boolean expectSuccess) throws Exception
| {
| ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();
| String dynamicClassRoot = getDynamicClassRoot();
| VFSClassLoaderFactory a = new VFSClassLoaderFactory("a");
| a.getRoots().add(getRoot(A.class));
| a.getCapabilities().addCapability(factory.createPackage(A.class.getPackage().getName()));
| KernelDeployment depA = install(a);
|
| VFSClassLoaderFactory b = new VFSClassLoaderFactory("b");
| b.getRoots().add(getRoot(B.class));
| b.getRoots().add(dynamicClassRoot);
| b.getCapabilities().addCapability(factory.createPackage(B.class.getPackage().getName()));
| b.getRequirements().addRequirement(factory.createRequirePackage(A.class.getPackage().getName()));
| KernelDeployment depB = install(b);
|
| ...
| }
|
When deploying this, I get the following error
| 1218 ERROR [AbstractKernelController] Error resolving dependencies for Installed: name=b:0.0.0$MODULE state=Start
| java.lang.IllegalStateException: VFSClassLoaderPolicyModule b:0.0.0 cannot be added because it is exports package newpackage which conflicts
| with VFSClassLoaderPolicyModule a:0.0.0
| at org.jboss.classloading.spi.dependency.ClassLoadingSpace.join(ClassLoadingSpace.java:223)
| at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:120)
| at org.jboss.classloading.spi.dependency.ClassLoadingSpace.joinAndResolve(ClassLoadingSpace.java:169)
| at org.jboss.classloading.spi.dependency.ClassLoadingSpace.resolve(ClassLoadingSpace.java:326)
| at org.jboss.classloading.spi.dependency.Module.resolveModule(Module.java:909)
| at org.jboss.classloading.spi.dependency.RequirementDependencyItem.resolve(RequirementDependencyItem.java:91)
| at org.jboss.dependency.plugins.AbstractDependencyInfo.resolveDependencies(AbstractDependencyInfo.java:138)
| 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.install(AbstractController.java:774)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540)
| at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:319)
| at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:297)
| at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130)
| at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76)
| at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:88)
| at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:358)
| at org.jboss.test.kernel.junit.MicrocontainerTest.deploy(MicrocontainerTest.java:368)
| at org.jboss.test.classloading.vfs.metadata.VFSClassLoadingMicrocontainerTest.install(VFSClassLoadingMicrocontainerTest.java:208)
| at org.jboss.test.classloading.vfs.metadata.test.GeneratedClassesUnitTestCase.runExplicitImportGenerateClass(GeneratedClassesUnitTestCase.j
| ava:171)
| at org.jboss.test.classloading.vfs.metadata.test.GeneratedClassesUnitTestCase.testExplicitImportGenerateClassInExistingPackage(GeneratedCla
| ssesUnitTestCase.java:88)
| ...
|
I was not really expecting problems at this stage, I was writing this test to investigate if we would need a GlobalRequirementsProvider. The package "newpackage", mentioned in the trace, is one of the global capabilities. Can really 2 loaders with importAll=false not export the same package, or have I done something wrong?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4217096#4217096
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4217096
More information about the jboss-dev-forums
mailing list