[jboss-jira] [JBoss JIRA] Created: (JBMICROCONT-101) Need better error reporting of circular dependencies
Scott M Stark (JIRA)
jira-events at jboss.com
Thu Aug 10 15:49:15 EDT 2006
Need better error reporting of circular dependencies
----------------------------------------------------
Key: JBMICROCONT-101
URL: http://jira.jboss.com/jira/browse/JBMICROCONT-101
Project: JBoss MicroContainer
Issue Type: Feature Request
Components: Dependency
Affects Versions: JBossMC_2_0_0M1
Reporter: Scott M Stark
Fix For: JBossMC_2_0_0M1
I switched around some dependencies and ended up producing a circular dependency:
<?xml version="1.0" encoding="UTF-8"?>
<!-- A ProfileServiceBootstrap bootstrap descriptor that uses the simple
VFSDeploymentScanner that goes directly to the MainDeployer rather than the
ProfileService.
$Id$
-->
<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd"
xmlns="urn:jboss:bean-deployer:2.0">
<!-- -->
<bean name="ProfileService" class="org.jboss.system.server.profileservice.ProfileServiceImpl">
<constructor>
<parameter>${jboss.server.name}</parameter>
</constructor>
<property name="profileRoot">${jboss.server.home.url}/profile</property>
</bean>
<!-- The MainDeployer -->
<bean name="MainDeployer" class="org.jboss.deployers.plugins.MainDeployerImpl">
<property name="VFSFactory"><inject bean="VFSFactory"/></property>
<property name="deployers">
<array class="[Lorg.jboss.deployers.spi.AspectDeployer;" elementClass="org.jboss.deployers.spi.AspectDeployer">
<inject bean="ClassLoadingDeployer"/>
<inject bean="BeanDeployer"/>
<inject bean="SARDeployer"/>
</array>
</property>
<supply>Deployers</supply>
</bean>
<!-- The factory for VFS instances -->
<bean name="VFSFactory" class="org.jboss.vfs.file.DefaultVFSFactory">
</bean>
<!-- Deployers. Declaration order defines the deployer chain order
-->
<bean name="ClassLoadingDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDeployer">
</bean>
<bean name="BeanDeployer" class="org.jboss.deployers.plugins.bean.BeanDeployer">
</bean>
<!-- Load the jboss jmx classes -->
<bean name="JMXClassLoader" class="org.jboss.vfs.classloading.VFSClassLoader">
<constructor factoryClass="org.jboss.vfs.classloading.VFSClassLoaderFactory"
factoryMethod="newClassLoader">
<parameter class="java.net.URL">${jboss.lib.url}</parameter>
<parameter>
<array class="[Ljava.lang.String;" elementClass="java.lang.String">
<value>dom4j.jar</value>
<value>jboss-j2se.jar</value>
<value>jboss-jmx.jar</value>
<value>jboss-mbeans.jar</value>
<value>jboss-system-jmx.jar</value>
</array>
</parameter>
<parameter><inject bean="MainDeployer" property="VFSFactory"/></parameter>
</constructor>
</bean>
<bean name="SARDeployer" class="org.jboss.deployment.SARDeployer">
<classloader><inject bean="JMXClassLoader"/></classloader>
<property name="useNamespaceAwareParser">true</property>
<property name="server"><inject bean="JMXKernel" property="mbeanServer" /></property>
<property name="serviceController"><inject bean="JMXKernel" property="serviceController" /></property>
</bean>
<!-- A bean that setups a jboss-4.0.x type of jmx kernel to support the
the legacy mbean deployments handled by the SARDeployer
-->
<bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
<classloader><inject bean="JMXClassLoader"/></classloader>
<property name="serverImpl"><inject bean="org.jboss.system.server.Server"/></property>
</bean>
<!-- Hot deployment service that directly uses the MainDeployer -->
<bean name="VFSDeploymentScanner" class="org.jboss.deployers.plugins.scanner.VFSDeploymentScannerImpl">
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
<property name="VFSFactory"><inject bean="MainDeployer" property="VFSFactory" /></property>
<property name="URIList">
<list elementClass="java.net.URI"><value>${jboss.server.home.url}/deploy/</value></list>
</property>
<property name="scanPeriod"><value>500000</value></property>
<demand state="Instantiated">Deployers</demand>
</bean>
</deployment>
All that was reported was a NPE due to the target of the demand=Deployers not being Instantiated:
12:37:31,477 DEBUG [ServerImpl] Failed to start
java.lang.IllegalArgumentException: Null name
at org.jboss.dependency.plugins.AbstractController.getContext(AbstractController.java:101)
at org.jboss.kernel.plugins.dependency.AbstractKernelController.getContext(AbstractKernelController.java:94)
at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.internalValidate(AbstractKernelDeployer.java:229)
at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.validate(AbstractKernelDeployer.java:161)
at org.jboss.system.server.profileservice.ProfileServiceBootstrap.bootstrap(ProfileServiceBootstrap.java:202)
at org.jboss.kernel.plugins.bootstrap.AbstractBootstrap.run(AbstractBootstrap.java:89)
at org.jboss.system.server.profileservice.ServerImpl.doStart(ServerImpl.java:371)
at org.jboss.system.server.profileservice.ServerImpl.start(ServerImpl.java:323)
at org.jboss.Main.boot(Main.java:210)
at org.jboss.Main$1.run(Main.java:488)
at java.lang.Thread.run()V(Unknown Source)
What should be reported is the bean which supplies the demand and its state not matching and why.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list