[jboss-cvs] JBossAS SVN: r72571 - trunk/server/src/main/org/jboss/ejb.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 22 09:55:53 EDT 2008


Author: adrian at jboss.org
Date: 2008-04-22 09:55:52 -0400 (Tue, 22 Apr 2008)
New Revision: 72571

Modified:
   trunk/server/src/main/org/jboss/ejb/EjbModule.java
Log:
Automatically include dependencies on invokers referenced by an EJB2 bean

Modified: trunk/server/src/main/org/jboss/ejb/EjbModule.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/EjbModule.java	2008-04-22 13:24:48 UTC (rev 72570)
+++ trunk/server/src/main/org/jboss/ejb/EjbModule.java	2008-04-22 13:55:52 UTC (rev 72571)
@@ -35,6 +35,7 @@
 import java.util.Map;
 
 import javax.ejb.EJBLocalHome;
+import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
@@ -418,6 +419,29 @@
             {
                depends.add(ObjectName.getInstance(dependsName));
             }
+            Iterator<String> invokerBindings = metaData.getInvokerBindings();
+            while (invokerBindings != null && invokerBindings.hasNext())
+            {
+               String invokerBindingName = invokerBindings.next();
+               InvokerProxyBindingMetaData ipbmd = appMetaData.getInvokerProxyBindingMetaDataByName(invokerBindingName);
+               if (ipbmd != null)
+               {
+                  String invokerName = ipbmd.getInvokerMBean();
+                  if (invokerName != null)
+                  {
+                     try
+                     {
+                        ObjectName invokerMBean = ObjectName.getInstance(invokerName);
+                        if (depends.contains(invokerMBean) == false)
+                           depends.add(invokerMBean);
+                     }
+                     catch (MalformedObjectNameException e)
+                     {
+                        log.trace("Ignored malformed invoker mbean '" + invokerName + "' " + e.toString());
+                     }
+                  }
+               }
+            }
             serviceController.create(jmxName, depends);
             // We keep the hashCode around for fast creation of proxies
             int jmxHash = jmxName.hashCode();




More information about the jboss-cvs-commits mailing list