Circular dependency error msg problem
starksm64 Mar 31, 2008 9:26 PMI'm seeing two problems with the IncompleteDeploymentException msg that results when the problem is due to circular references.
1. The processing of AbstractDependencyInfo.resolveDependencies aborts as soon as there is an unresolved dependency. This leaves spurious unresolved dependencies in the missing dependency list.
2. When the IncompleteDeployments.calculateContextsError tries to calculate the underlying context in error by removing contexts with missing dependencies, it ends up claiming one of the spurious dependencies is the cause. If there were no spurious dependencies it would report that there were no contexts in error. It needs to be checking for circular refs to properly report the problem.
Here is an example of the incorrect error msg. Here,
jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-one-ejb.jar,name=EjbLink1Bean,service=EJB3 depends on:
jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-one-ejb.jar,name=EjbLink2Bean,service=EJB3 which depends on:
jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-one-ejb.jar,name=EjbLink1Bean,service=EJB3.
Both also depend on jboss.ejb:service=EJBTimerService, and the *EjbLink2Bean* also depends on jboss.j2ee:ear=refs-ejb3-ejblink.ear,name=EjbLink3Bean,service=EJB3 which is ultimately incorrectly reported to be the root error context.
org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS): *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State} jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-one-ejb.jar,name=EjbLink1Bean,service=EJB3 -> <UNKNOWN>{Described:** UNRESOLVED Demands 'jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-two-ejb.jar,name=EjbLink2Bean,service=EJB3 **} -> <UNKNOWN>{Described:** UNRESOLVED Demands 'jboss.ejb:service=EJBTimerService **} jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-two-ejb.jar,name=EjbLink2Bean,service=EJB3 -> <UNKNOWN>{Described:** UNRESOLVED Demands 'jboss.j2ee:ear=refs-ejb3-ejblink.ear,jar=refs-one-ejb,name=EjbLink1Bean,service=EJB3 **} -> <UNKNOWN>{Described:** UNRESOLVED Demands 'jboss.ejb:service=EJBTimerService **} -> <UNKNOWN>{Described:** UNRESOLVED Demands 'jboss.j2ee:ear=refs-ejb3-ejblink.ear,name=EjbLink3Bean,service=EJB3,* **} *** CONTEXTS IN ERROR: Name -> Error <UNKNOWN> -> ** UNRESOLVED Demands 'jboss.j2ee:ear=refs-ejb3-ejblink.ear,name=EjbLink3Bean,service=EJB3,* **