diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/OutgoingConnectionFactory.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/PropertyNames.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/RoutableReference.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/RouterInfo.java | 98 |
5 files changed, 45 insertions, 65 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index c016a5533a0..f72fc0dee2c 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -776,8 +776,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt // Add the router's server proxy endpoints to this object // adapter. // - ObjectPrxHelperBase proxy = (ObjectPrxHelperBase)_routerInfo.getServerProxy(); - IceInternal.EndpointI[] endpoints = proxy.__reference().getEndpoints(); + IceInternal.EndpointI[] endpoints = _routerInfo.getServerEndpoints(); for(int i = 0; i < endpoints.length; ++i) { _routerEndpoints.add(endpoints[i]); diff --git a/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java index 388c2b71027..77646bbce7c 100644 --- a/java/src/IceInternal/OutgoingConnectionFactory.java +++ b/java/src/IceInternal/OutgoingConnectionFactory.java @@ -413,10 +413,9 @@ public final class OutgoingConnectionFactory // connections, so that callbacks from the router can be // received over such connections. // - Ice.ObjectPrx proxy = routerInfo.getClientProxy(); Ice.ObjectAdapter adapter = routerInfo.getAdapter(); DefaultsAndOverrides defaultsAndOverrides = _instance.defaultsAndOverrides(); - EndpointI[] endpoints = ((Ice.ObjectPrxHelperBase)proxy).__reference().getEndpoints(); + EndpointI[] endpoints = routerInfo.getClientEndpoints(); for(int i = 0; i < endpoints.length; i++) { EndpointI endpoint = endpoints[i]; diff --git a/java/src/IceInternal/PropertyNames.java b/java/src/IceInternal/PropertyNames.java index f8a3a16e1a3..17e0dc87779 100644 --- a/java/src/IceInternal/PropertyNames.java +++ b/java/src/IceInternal/PropertyNames.java @@ -7,7 +7,7 @@ // // ********************************************************************** -// Generated by makeprops.py from file `../config/PropertyNames.def', Fri Dec 22 00:37:02 2006 +// Generated by makeprops.py from file `../config/PropertyNames.def', Wed Jan 3 13:36:27 2007 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -364,6 +364,7 @@ public final class PropertyNames "^Glacier2\\.PermissionsVerifier\\.Locator$", "^Glacier2\\.PermissionsVerifier\\.Router$", "^Glacier2\\.PermissionsVerifier\\.CollocationOptimization$", + "^Glacier2\\.ReturnClientProxy$", "^Glacier2\\.SSLPermissionsVerifier$", "^Glacier2\\.SSLPermissionsVerifier\\.EndpointSelection$", "^Glacier2\\.SSLPermissionsVerifier\\.ConnectionCached$", diff --git a/java/src/IceInternal/RoutableReference.java b/java/src/IceInternal/RoutableReference.java index 7a288999748..7a1b2c9132e 100644 --- a/java/src/IceInternal/RoutableReference.java +++ b/java/src/IceInternal/RoutableReference.java @@ -26,8 +26,7 @@ public abstract class RoutableReference extends Reference // If we route, we send everything to the router's client // proxy endpoints. // - Ice.ObjectPrx clientProxy = _routerInfo.getClientProxy(); - return ((Ice.ObjectPrxHelperBase)clientProxy).__reference().getEndpoints(); + return _routerInfo.getClientEndpoints(); } return new EndpointI[0]; } diff --git a/java/src/IceInternal/RouterInfo.java b/java/src/IceInternal/RouterInfo.java index 36f61c5956d..8a1372870fe 100644 --- a/java/src/IceInternal/RouterInfo.java +++ b/java/src/IceInternal/RouterInfo.java @@ -21,8 +21,8 @@ public final class RouterInfo synchronized public void destroy() { - _clientProxy = null; - _serverProxy = null; + _clientEndpoints = new EndpointI[0]; + _serverEndpoints = new EndpointI[0]; _adapter = null; _identities.clear(); } @@ -52,78 +52,60 @@ public final class RouterInfo return _router; } - public synchronized Ice.ObjectPrx - getClientProxy() + public synchronized EndpointI[] + getClientEndpoints() { - if(_clientProxy == null) // Lazy initialization. + if(_clientEndpoints == null) // Lazy initialization. { - _clientProxy = _router.getClientProxy(); - if(_clientProxy == null) + Ice.ObjectPrx clientProxy = _router.getClientProxy(); + if(clientProxy == null) { - throw new Ice.NoEndpointException(); + // + // If getClientProxy() return nil, use router endpoints. + // + _clientEndpoints = ((Ice.ObjectPrxHelperBase)_router).__reference().getEndpoints(); } - - _clientProxy = _clientProxy.ice_router(null); // The client proxy cannot be routed. - - // - // In order to avoid creating a new connection to the - // router, we must use the same timeout as the already - // existing connection. - // - try + else { - _clientProxy = _clientProxy.ice_timeout(_router.ice_getConnection().timeout()); - } - catch(Ice.CollocationOptimizationException ex) - { - // Ignore - collocated router. + clientProxy = clientProxy.ice_router(null); // The client proxy cannot be routed. + + // + // In order to avoid creating a new connection to the + // router, we must use the same timeout as the already + // existing connection. + // + try + { + clientProxy = clientProxy.ice_timeout(_router.ice_getConnection().timeout()); + } + catch(Ice.CollocationOptimizationException ex) + { + // Ignore - collocated router. + } + + _clientEndpoints = ((Ice.ObjectPrxHelperBase)clientProxy).__reference().getEndpoints(); } } - return _clientProxy; + return _clientEndpoints; } - public synchronized void - setClientProxy(Ice.ObjectPrx clientProxy) + public synchronized EndpointI[] + getServerEndpoints() { - _clientProxy = clientProxy.ice_router(null); // The client proxy cannot be routed. - - // - // In order to avoid creating a new connection to the router, - // we must use the same timeout as the already existing - // connection. - // - try - { - _clientProxy = _clientProxy.ice_timeout(_router.ice_getConnection().timeout()); - } - catch(Ice.CollocationOptimizationException ex) - { - // Ignore - collocated router. - } - } - - public Ice.ObjectPrx - getServerProxy() - { - if(_serverProxy == null) // Lazy initialization. + if(_serverEndpoints == null) // Lazy initialization. { - _serverProxy = _router.getServerProxy(); - if(_serverProxy == null) + Ice.ObjectPrx serverProxy = _router.getServerProxy(); + if(serverProxy == null) { throw new Ice.NoEndpointException(); } - _serverProxy = _serverProxy.ice_router(null); // The server proxy cannot be routed. + serverProxy = serverProxy.ice_router(null); // The server proxy cannot be routed. + _serverEndpoints = ((Ice.ObjectPrxHelperBase)serverProxy).__reference().getEndpoints(); } - return _serverProxy; - } - - public void - setServerProxy(Ice.ObjectPrx serverProxy) - { - _serverProxy = serverProxy.ice_router(null); // The server proxy cannot be routed. + return _serverEndpoints; } public synchronized void @@ -168,8 +150,8 @@ public final class RouterInfo } private final Ice.RouterPrx _router; - private Ice.ObjectPrx _clientProxy; - private Ice.ObjectPrx _serverProxy; + private EndpointI[] _clientEndpoints; + private EndpointI[] _serverEndpoints; private Ice.ObjectAdapter _adapter; private java.util.HashSet _identities = new java.util.HashSet(); } |