You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/02/14 04:50:09 UTC
svn commit: r627650 - in /incubator/tuscany/java/sca/modules/host-rmi/src:
main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java
test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java
Author: rfeng
Date: Wed Feb 13 19:50:09 2008
New Revision: 627650
URL: http://svn.apache.org/viewvc?rev=627650&view=rev
Log:
Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict
Modified:
incubator/tuscany/java/sca/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java
incubator/tuscany/java/sca/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java
Modified: incubator/tuscany/java/sca/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java?rev=627650&r1=627649&r2=627650&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java (original)
+++ incubator/tuscany/java/sca/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java Wed Feb 13 19:50:09 2008
@@ -46,17 +46,20 @@
}
public void registerService(String serviceName, int port, Remote serviceObject) throws RMIHostException,
- RMIHostRuntimeException {
+ RMIHostRuntimeException {
Registry registry;
try {
registry = rmiRegistries.get(Integer.toString(port));
if (registry == null) {
- registry = LocateRegistry.createRegistry(port);
- rmiRegistries.put(Integer.toString(port),
- registry);
+ try {
+ registry = LocateRegistry.getRegistry(port);
+ registry.list();
+ } catch (RemoteException e) {
+ registry = LocateRegistry.createRegistry(port);
+ }
+ rmiRegistries.put(Integer.toString(port), registry);
}
- registry.bind(serviceName,
- serviceObject);
+ registry.bind(serviceName, serviceObject);
} catch (AlreadyBoundException e) {
throw new RMIHostException(e);
} catch (RemoteException e) {
@@ -68,22 +71,18 @@
}
public void registerService(String serviceName, Remote serviceObject) throws RMIHostException,
- RMIHostRuntimeException {
- registerService(serviceName,
- RMI_DEFAULT_PORT,
- serviceObject);
+ RMIHostRuntimeException {
+ registerService(serviceName, RMI_DEFAULT_PORT, serviceObject);
}
- public void unregisterService(String serviceName, int port) throws RMIHostException,
- RMIHostRuntimeException {
+ public void unregisterService(String serviceName, int port) throws RMIHostException, RMIHostRuntimeException {
Registry registry;
try {
registry = rmiRegistries.get(Integer.toString(port));
if (registry == null) {
- registry = LocateRegistry.createRegistry(port);
- rmiRegistries.put(Integer.toString(port),
- registry);
+ registry = LocateRegistry.getRegistry(port);
+ rmiRegistries.put(Integer.toString(port), registry);
}
registry.unbind(serviceName);
} catch (RemoteException e) {
@@ -95,24 +94,20 @@
}
}
- public void unregisterService(String serviceName) throws RMIHostException,
- RMIHostRuntimeException {
- unregisterService(serviceName,
- RMI_DEFAULT_PORT);
+ public void unregisterService(String serviceName) throws RMIHostException, RMIHostRuntimeException {
+ unregisterService(serviceName, RMI_DEFAULT_PORT);
}
public Remote findService(String host, String port, String svcName) throws RMIHostException,
- RMIHostRuntimeException {
+ RMIHostRuntimeException {
Registry registry;
Remote remoteService = null;
host = (host == null || host.length() <= 0) ? "localhost" : host;
- int portNumber = (port == null || port.length() <= 0) ? RMI_DEFAULT_PORT : Integer
- .decode(port);
+ int portNumber = (port == null || port.length() <= 0) ? RMI_DEFAULT_PORT : Integer.decode(port);
try {
- registry = LocateRegistry.getRegistry(host,
- portNumber);
+ registry = LocateRegistry.getRegistry(host, portNumber);
if (registry != null) {
remoteService = registry.lookup(svcName);
Modified: incubator/tuscany/java/sca/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java?rev=627650&r1=627649&r2=627650&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java Wed Feb 13 19:50:09 2008
@@ -18,6 +18,7 @@
*/
package org.apache.tuscany.sca.host.rmi;
+import java.io.Serializable;
import java.rmi.Remote;
import junit.framework.TestCase;
@@ -39,8 +40,17 @@
public void testRegisterService1() throws RMIHostRuntimeException, RMIHostException {
DefaultRMIHost host = new DefaultRMIHost();
- host.registerService("foo1", new MockRemote());
- host.unregisterService("foo1");
+ host.registerService("foo1", 9996, new MockRemote());
+ host.unregisterService("foo1", 9996);
+ }
+
+ public void testExistingRegistry() throws RMIHostRuntimeException, RMIHostException {
+ DefaultRMIHost host1 = new DefaultRMIHost();
+ host1.registerService("foo1", 9995, new MockRemote());
+ DefaultRMIHost host2 = new DefaultRMIHost();
+ host2.registerService("foo2", 9995, new MockRemote());
+ host2.unregisterService("foo1", 9995);
+ host2.unregisterService("foo2", 9995);
}
public void testRegisterService2() throws RMIHostRuntimeException, RMIHostException {
@@ -65,11 +75,11 @@
try {
host.unregisterService("bar3", 9998);
fail();
- } catch (RMIHostException e) {
+ } catch (RMIHostRuntimeException e) {
// expected
}
}
- private static class MockRemote implements Remote {
+ private static class MockRemote implements Remote, Serializable {
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org