[jboss-cvs] JBossAS SVN: r69872 - in projects/ejb3/trunk/core/src: test/java/org/jboss/ejb3/test/ejbthree994/unit and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Feb 17 18:47:49 EST 2008
Author: bdecoste
Date: 2008-02-17 18:47:49 -0500 (Sun, 17 Feb 2008)
New Revision: 69872
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ClientKernelAbstraction.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/JmxClientKernelAbstraction.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/MCClientKernelAbstraction.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ProxyFactoryHelper.java
projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
Log:
[EJBTHREE-1190] [EJBTHREE-1191] binding 0.0.0.0 clientBindUrl to correct Connector
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ClientKernelAbstraction.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ClientKernelAbstraction.java 2008-02-17 17:47:45 UTC (rev 69871)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ClientKernelAbstraction.java 2008-02-17 23:47:49 UTC (rev 69872)
@@ -21,6 +21,8 @@
*/
package org.jboss.ejb3;
+import java.util.Set;
+
import javax.management.ObjectName;
import javax.management.MBeanServer;
@@ -33,4 +35,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: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/JmxClientKernelAbstraction.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/JmxClientKernelAbstraction.java 2008-02-17 17:47:45 UTC (rev 69871)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/JmxClientKernelAbstraction.java 2008-02-17 23:47:49 UTC (rev 69872)
@@ -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: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/MCClientKernelAbstraction.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/MCClientKernelAbstraction.java 2008-02-17 17:47:45 UTC (rev 69871)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/MCClientKernelAbstraction.java 2008-02-17 23:47:49 UTC (rev 69872)
@@ -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: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ProxyFactoryHelper.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ProxyFactoryHelper.java 2008-02-17 17:47:45 UTC (rev 69871)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/ProxyFactoryHelper.java 2008-02-17 23:47:49 UTC (rev 69872)
@@ -22,8 +22,10 @@
package org.jboss.ejb3;
import java.lang.reflect.Method;
+import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -36,6 +38,7 @@
import javax.ejb.Remote;
import javax.ejb.RemoteHome;
import javax.jws.WebService;
+import javax.management.ObjectInstance;
import javax.management.ObjectName;
import org.jboss.aop.Advisor;
@@ -769,27 +772,48 @@
// Return
return types;
}
-
+
public static String getClientBindUrl(RemoteBinding binding) throws Exception
{
String clientBindUrl = binding.clientBindUrl();
if (clientBindUrl.trim().length() == 0)
{
- ObjectName connectionON = new ObjectName(
- "jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3");
+ ObjectName connectionON = new ObjectName("jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3");
KernelAbstraction kernelAbstraction = KernelAbstractionFactory.getInstance();
try
{
- clientBindUrl = (String) kernelAbstraction.getAttribute(connectionON, "InvokerLocator");
- if (clientBindUrl == null)
- clientBindUrl = RemoteProxyFactory.DEFAULT_CLIENT_BINDING;
+ clientBindUrl = (String)kernelAbstraction.getAttribute(connectionON, "InvokerLocator");
}
catch (Exception e)
{
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;
+ }
+ }
+ }
+
+ if (clientBindUrl == null)
+ clientBindUrl = RemoteProxyFactory.DEFAULT_CLIENT_BINDING;
+
return clientBindUrl;
}
Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java 2008-02-17 17:47:45 UTC (rev 69871)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java 2008-02-17 23:47:49 UTC (rev 69872)
@@ -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