[jboss-user] [JBoss Microcontainer Development] New message: "Re: DependencyInfo remove items"

Kabir Khan do-not-reply at jboss.com
Thu Jan 28 15:24:20 EST 2010


User development,

A new message was posted in the thread "DependencyInfo remove items":

http://community.jboss.org/message/522866#522866

Author  : Kabir Khan
Profile : http://community.jboss.org/people/kabir.khan@jboss.com

Message:
--------------------------------------------------------------
All tests pass with the below change which I have committed against https://jira.jboss.org/jira/browse/JBKERNEL-84. However, I do see a few warnings like this when running KernelAllTestSuite due to DemandDependencyItem not having its iDependOn set. Any ideas on making this more flexible? I kind of wish DependencyItem would record its dependencies somehow...
 
29221 WARN  [AbstractKernelController] Problem finding dependency for AbstractDemandMetaData$DemandDependencyItem at 4946101f{name=bean depends
On=null whenRequired=Instantiated resolved=false demand=foobar}
java.lang.IllegalArgumentException: Null name
 at org.jboss.dependency.plugins.AbstractController.getContext(AbstractController.java:520)
 at org.jboss.kernel.plugins.dependency.AbstractKernelController.getContext(AbstractKernelController.java:150)
 at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1477)
 at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1391)
 at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:704)
 at org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:617)
 at org.jboss.test.kernel.lazy.test.LazyInstantiationTest.testLazy(LazyInstantiationTest.java:109)
 
 
 
Index: dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java (revision 100075)
+++ dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java (working copy)
@@ -1459,7 +1459,40 @@
                   }
                }
             }
-            
+
+            Set<DependencyItem> iDependOn = dependencies.getIDependOn(null);
+            if (iDependOn.isEmpty() == false)
+            {
+               for (DependencyItem item : iDependOn)
+               {
+                  if (item.isResolved()) 
+                  {
+                     ControllerState whenRequired = item.getWhenRequired();
+                     if (whenRequired == null || whenRequired.equals(fromState))
+                     {
+                        if (item.unresolved(this))
+                        {
+                           try
+                           {
+                              ControllerContext dependency = getContext(item.getIDependOn(), item.getDependentState());
+                              if (dependency != null)
+                              {
+                                 DependencyInfo info = dependency.getDependencyInfo();
+                                 if (info != null)
+                                 {
+                                    info.removeDependsOnMe(item);
+                                 }
+                              }
+                           }
+                           catch(RuntimeException e)
+                           {
+                              log.warn("Problem finding dependency for " + item, e);
+                           }
+                        }
+                     }
+                  }
+               }
+            }
          }
          catch (Throwable error)
          {
 

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/522866#522866




More information about the jboss-user mailing list