summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/ObjectAdapterI.java3
-rw-r--r--java/src/IceInternal/OutgoingConnectionFactory.java3
-rw-r--r--java/src/IceInternal/PropertyNames.java3
-rw-r--r--java/src/IceInternal/RoutableReference.java3
-rw-r--r--java/src/IceInternal/RouterInfo.java98
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();
}