You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/02/21 01:35:56 UTC

svn commit: r1448482 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java

Author: rmannibucau
Date: Thu Feb 21 00:35:56 2013
New Revision: 1448482

URL: http://svn.apache.org/r1448482
Log:
binding remote global name in openejb/remote too

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
    tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=1448482&r1=1448481&r2=1448482&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java Thu Feb 21 00:35:56 2013
@@ -474,6 +474,7 @@ public class JndiBuilder {
                 String name = strategy.getName(interfce, DEFAULT_NAME_KEY, JndiNameStrategy.Interface.BUSINESS_REMOTE);
                 bind("openejb/local/" + name, ref, bindings, beanInfo, interfce);
                 bind("openejb/remote/" + name, ref, bindings, beanInfo, interfce);
+                bind("openejb/remote/" + computeGlobalName(bean, interfce), ref, bindings, beanInfo, interfce);
                 bindJava(bean, interfce, ref, bindings, beanInfo);
                 if (USE_OLD_JNDI_NAMES) {
                     bean.getModuleContext().getAppContext().getBindings().put(name, ref);
@@ -640,6 +641,20 @@ public class JndiBuilder {
 
     //ee6 specified ejb bindings in module, app, and global contexts
 
+    private String computeGlobalName(final BeanContext cdi, final Class<?> intrface) {
+        final ModuleContext module = cdi.getModuleContext();
+        final AppContext application = module.getAppContext();
+
+        final String appName = application.isStandaloneModule() ? "" : application.getId() + "/";
+        final String moduleName = cdi.getModuleName() + "/";
+        String beanName = cdi.getEjbName();
+        if (intrface != null) {
+            beanName = beanName + "!" + intrface.getName();
+        }
+
+        return "global/" + appName + moduleName + beanName;
+    }
+
     private void bindJava(BeanContext cdi, Class intrface, Reference ref, Bindings bindings, EnterpriseBeanInfo beanInfo) throws NamingException {
         final ModuleContext module = cdi.getModuleContext();
         final AppContext application = module.getAppContext();

Modified: tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?rev=1448482&r1=1448481&r2=1448482&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java (original)
+++ tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Thu Feb 21 00:35:56 2013
@@ -16,38 +16,6 @@
  */
 package org.apache.openejb.server.ejbd;
 
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
-import javax.jms.ConnectionFactory;
-import javax.jms.Topic;
-import javax.naming.Context;
-import javax.naming.NameClassPair;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.resource.Referenceable;
-import javax.sql.DataSource;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
-import javax.xml.namespace.QName;
-
-import org.apache.openejb.resource.jdbc.DataSourceFactory;
-import org.apache.openejb.server.context.RequestInfos;
-import org.omg.CORBA.ORB;
-import static org.apache.openejb.server.ejbd.ClientObjectFactory.convert;
-
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.Injection;
 import org.apache.openejb.ProxyInfo;
@@ -73,10 +41,39 @@ import org.apache.openejb.core.webservic
 import org.apache.openejb.core.webservices.PortRefData;
 import org.apache.openejb.core.webservices.ServiceRefData;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.resource.jdbc.DataSourceFactory;
+import org.apache.openejb.server.context.RequestInfos;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.proxy.ProxyManager;
+import org.omg.CORBA.ORB;
+
+import javax.jms.ConnectionFactory;
+import javax.jms.Topic;
+import javax.naming.Context;
+import javax.naming.NameClassPair;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.resource.Referenceable;
+import javax.sql.DataSource;
+import javax.validation.Validator;
+import javax.validation.ValidatorFactory;
+import javax.xml.namespace.QName;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.Set;
+
+import static org.apache.openejb.server.ejbd.ClientObjectFactory.convert;
 
 
 class JndiRequestHandler {