Author: rmannibucau
Date: Wed Nov  7 18:14:09 2012
New Revision: 1406745

URL: http://svn.apache.org/viewvc?rev=1406745&view=rev
Log:
Comp name can sometimes not be unique so make it unique

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java?rev=1406745&r1=1406744&r2=1406745&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
 Wed Nov  7 18:14:09 2012
@@ -17,11 +17,11 @@
 package org.apache.openejb.assembler.classic;
 
 import org.apache.openejb.AppContext;
+import org.apache.openejb.BeanContext;
 import org.apache.openejb.Container;
 import org.apache.openejb.Injection;
-import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.BeanContext;
 import org.apache.openejb.ModuleContext;
+import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.util.Messages;
 
 import javax.naming.Context;
@@ -68,7 +68,7 @@ public class EjbJarBuilder {
                 interceptorBindingBuilder.build(bean, ejbInfo);
 
                 methodScheduleBuilder.build(bean, ejbInfo);
-                
+
                 deployments.put(ejbInfo.ejbDeploymentId, bean);
 
                 // TODO: replace with get() on application context or parent

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=1406745&r1=1406744&r2=1406745&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 Wed Nov  7 18:14:09 2012
@@ -417,9 +417,6 @@ public class JndiBuilder {
                 bind(internalName, ref, bindings, beanInfo, beanClass);
 
                 String name = strategy.getName(beanClass, DEFAULT_NAME_KEY, 
JndiNameStrategy.Interface.LOCALBEAN);
-                if (BeanContext.Comp.class.equals(bean.getBeanClass())) { // 
in an ear ejbmodule, webmodule etc can get the same name so avoid Comp binding 
issue
-                    name = name + 
Long.toString(System.identityHashCode(ejbJarInfo));
-                }
                 bind("openejb/local/" + name, ref, bindings, beanInfo, 
beanClass);
                 bindJava(bean, beanClass, ref, bindings, beanInfo);
 

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java?rev=1406745&r1=1406744&r2=1406745&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java
 Wed Nov  7 18:14:09 2012
@@ -192,6 +192,11 @@ public class InitEjbDeployments implemen
         contextData.put("ejbClass.simpleName", 
bean.getEjbClass().substring(simpleNameIdx + 1));
 
         contextData.put("ejbName", bean.getEjbName());
-        return template.apply(contextData);
+
+        final String name = template.apply(contextData);
+        if (bean instanceof CompManagedBean) { // avoid conflict in ear 
between an ejbmodule and a war using the same name
+            return name + System.identityHashCode(bean);
+        }
+        return name;
     }
 }


Reply via email to