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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Apr 6 01:36:07 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-04-06 01:36:07 -0400 (Fri, 06 Apr 2007)
New Revision: 62154

Modified:
   trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java
Log:
Register the dependencies on the invokers 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-06 02:08:47 UTC (rev 62153)
+++ trunk/server/src/main/org/jboss/ejb/deployers/EjbDeployer.java	2007-04-06 05:36:07 UTC (rev 62154)
@@ -201,25 +201,32 @@
       }
       // Add dependencies on the invoker services in use
       Iterator beans = deployment.getEnterpriseBeans();
-      HashSet<String> configNames = new HashSet<String>();
+      HashSet<String> invokerNames = 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 configName = bmd.getConfigurationName();
+         ConfigurationMetaData cmd = deployment.getConfigurationMetaDataByName(configName);
          String[] invokers = cmd.getInvokers();
          for(String iname : invokers)
          {
-            ServiceDependencyMetaData invoker = new ServiceDependencyMetaData();
             InvokerProxyBindingMetaData imd = deployment.getInvokerProxyBindingMetaDataByName(iname);
-            invoker.setIDependOn(imd.getInvokerMBean());
-            dependencies.add(invoker);
+            String invokerName = imd.getInvokerMBean();
+            if( invokerName.equalsIgnoreCase("default") )
+            {
+               // TODO: JBAS-4306 hack to ingore the invalid default invoker-mbean
+               continue;
+            }
+            if( invokerNames.contains(invokerName) == false )
+            {
+               invokerNames.add(invokerName);
+               ServiceDependencyMetaData invoker = new ServiceDependencyMetaData();
+               invoker.setIDependOn(invokerName);
+               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