summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/LocatorInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/LocatorInfo.java')
-rw-r--r--java/src/IceInternal/LocatorInfo.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/java/src/IceInternal/LocatorInfo.java b/java/src/IceInternal/LocatorInfo.java
index e64d73b8a58..fe20942a315 100644
--- a/java/src/IceInternal/LocatorInfo.java
+++ b/java/src/IceInternal/LocatorInfo.java
@@ -330,9 +330,12 @@ public final class LocatorInfo
synchronized(this)
{
//
- // The locator registry can't be located.
+ // The locator registry can't be located. We use ordered
+ // endpoint selection in case the locator returned a proxy
+ // with some endpoints which are prefered to be tried first.
//
- _locatorRegistry = Ice.LocatorRegistryPrxHelper.uncheckedCast(locatorRegistry.ice_locator(null));
+ _locatorRegistry = (Ice.LocatorRegistryPrx)locatorRegistry.ice_locator(null).ice_endpointSelection(
+ Ice.EndpointSelectionType.Ordered);
return _locatorRegistry;
}
}