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;
}
}