[jboss-cvs] JBossAS SVN: r69848 - in branches/JBPAPP_4_2_0_GA_CP/ejb3/src: test/org/jboss/ejb3/test/ejbthree994/unit and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 14 21:24:02 EST 2008


Author: bdecoste
Date: 2008-02-14 21:24:01 -0500 (Thu, 14 Feb 2008)
New Revision: 69848

Modified:
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ClientKernelAbstraction.java
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/JmxClientKernelAbstraction.java
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/MCClientKernelAbstraction.java
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java
   branches/JBPAPP_4_2_0_GA_CP/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
Log:
[JBPAPP-628] [JBPAPP-629] binding 0.0.0.0 clientBindUrl to correct Connector

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ClientKernelAbstraction.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ClientKernelAbstraction.java	2008-02-14 23:44:04 UTC (rev 69847)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ClientKernelAbstraction.java	2008-02-15 02:24:01 UTC (rev 69848)
@@ -21,10 +21,10 @@
 */
 package org.jboss.ejb3;
 
+import java.util.Set;
+
 import javax.management.ObjectName;
 
-import javax.management.MBeanServer;
-
 /**
  * @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
  */
@@ -33,4 +33,6 @@
    Object invoke(ObjectName name, String operationName, Object[] params, String[] signature) throws Exception;
 
    public Object getAttribute(ObjectName name, String attribute) throws Exception;
+   
+   Set getMBeans(ObjectName query) throws Exception;
 }

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/JmxClientKernelAbstraction.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/JmxClientKernelAbstraction.java	2008-02-14 23:44:04 UTC (rev 69847)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/JmxClientKernelAbstraction.java	2008-02-15 02:24:01 UTC (rev 69848)
@@ -21,6 +21,8 @@
 */
 package org.jboss.ejb3;
 
+import java.util.Set;
+
 import javax.management.MBeanServerConnection;
 import javax.management.ObjectName;
 import org.jboss.logging.Logger;
@@ -48,4 +50,11 @@
    {
       return server.getAttribute(name, attribute);
    }
+   
+   public Set getMBeans(ObjectName query) throws Exception
+   {
+      Set mbeans = server.queryMBeans(query, null);
+      
+      return mbeans;
+   }
 }

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/MCClientKernelAbstraction.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/MCClientKernelAbstraction.java	2008-02-14 23:44:04 UTC (rev 69847)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/MCClientKernelAbstraction.java	2008-02-15 02:24:01 UTC (rev 69848)
@@ -29,6 +29,8 @@
 import javax.management.ObjectName;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
@@ -82,4 +84,12 @@
       }
       return null;
    }
+   
+   public Set getMBeans(ObjectName query) throws Exception
+   {
+      Object target = kernel.getRegistry().getEntry(query);
+      Set set = new HashSet();
+      set.add(target);
+      return set;
+   }
 }

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java	2008-02-14 23:44:04 UTC (rev 69847)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/main/org/jboss/ejb3/ProxyFactoryHelper.java	2008-02-15 02:24:01 UTC (rev 69848)
@@ -22,11 +22,13 @@
 package org.jboss.ejb3;
 
 import java.io.Serializable;
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 import javax.ejb.EJBLocalObject;
 import javax.ejb.EJBObject;
@@ -35,6 +37,7 @@
 import javax.ejb.Remote;
 import javax.ejb.RemoteHome;
 import javax.jws.WebService;
+import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.naming.Context;
 import javax.naming.NameNotFoundException;
@@ -590,6 +593,28 @@
             clientBindUrl = RemoteProxyFactory.DEFAULT_CLIENT_BINDING;
          }
       }
+      else if (clientBindUrl.indexOf("0.0.0.0") != -1)
+      {
+         KernelAbstraction kernelAbstraction = KernelAbstractionFactory.getInstance();
+         ObjectName query = new ObjectName("jboss.remoting:type=Connector,handler=ejb3,*");
+         Set mbeanSet = kernelAbstraction.getMBeans(query);
+         
+         URI targetUri = new URI(clientBindUrl);
+         Iterator mbeans = mbeanSet.iterator();
+         while (mbeans.hasNext())
+         {
+            ObjectInstance invokerInstance = (ObjectInstance)mbeans.next();
+            ObjectName invokerName = invokerInstance.getObjectName();
+            String invokerLocator = (String)kernelAbstraction.getAttribute(invokerName, "InvokerLocator");
+            URI uri = new URI(invokerLocator);
+          
+            if (uri.getScheme().equals(targetUri.getScheme()) && uri.getPort() == targetUri.getPort())
+            {
+               return invokerLocator;
+            }
+         }
+         return clientBindUrl;
+      }
       
       return clientBindUrl;
    }

Modified: branches/JBPAPP_4_2_0_GA_CP/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java	2008-02-14 23:44:04 UTC (rev 69847)
+++ branches/JBPAPP_4_2_0_GA_CP/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java	2008-02-15 02:24:01 UTC (rev 69848)
@@ -63,7 +63,7 @@
          assertEquals(actual, "*** 123 ***");
          
          String proxyUri = getProxyUri(bean);
-         assertEquals(proxyUri, "socket://0.0.0.0:3873");
+         assertEquals(proxyUri, "socket://127.0.0.1:3873/");
       }
 
       {
@@ -72,7 +72,7 @@
          assertEquals(actual, "*** 456 ***");
          
          String proxyUri = getProxyUri(bean);
-         assertEquals(proxyUri, "socket://0.0.0.0:3874");
+         assertEquals(proxyUri, "socket://127.0.0.1:3874/");
       }
    }
    




More information about the jboss-cvs-commits mailing list