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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 3 12:21:35 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-04-03 12:21:35 -0400 (Tue, 03 Apr 2007)
New Revision: 62045

Modified:
   trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
Add dependencies on the invoker services in use

Modified: trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-04-03 16:12:18 UTC (rev 62044)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-04-03 16:21:35 UTC (rev 62045)
@@ -22,6 +22,8 @@
 package org.jboss.ejb.deployers;
 
 import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -34,6 +36,9 @@
 import org.jboss.deployment.security.JaccPolicyUtil;
 import org.jboss.ejb.EjbModule;
 import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
+import org.jboss.metadata.ConfigurationMetaData;
+import org.jboss.metadata.InvokerProxyBindingMetaData;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
 import org.jboss.system.metadata.ServiceConstructorMetaData;
 import org.jboss.system.metadata.ServiceDependencyMetaData;
@@ -194,6 +199,27 @@
          tms.setIDependOn(timerServiceName);
          dependencies.add(tms);
       }
+      // Add dependencies on the invoker services in use
+      Iterator beans = deployment.getEnterpriseBeans();
+      HashSet<String> configNames = new HashSet<String>();
+      while( beans.hasNext() )
+      {
+         BeanMetaData bmd = (BeanMetaData) beans.next();
+         configNames.add(bmd.getConfigurationName());
+      }
+
+      for(String name : configNames)
+      {
+         ConfigurationMetaData cmd = deployment.getConfigurationMetaDataByName(name);
+         String[] invokers = cmd.getInvokers();
+         for(String iname : invokers)
+         {
+            ServiceDependencyMetaData invoker = new ServiceDependencyMetaData();
+            InvokerProxyBindingMetaData imd = deployment.getInvokerProxyBindingMetaDataByName(iname);
+            invoker.setIDependOn(imd.getInvokerMBean());
+            dependencies.add(invoker);
+         }
+      }
       // Add any declared dependencies
       /* TODO: this is too coarse as bean to bean depends are being pulled up to the module level
          and an ejb module cannot depend on the beans it creates. The ejb deployer needs to




More information about the jboss-cvs-commits mailing list