diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-10-14 12:55:46 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-10-14 12:58:58 +0200 |
commit | d87cf8ef07bd13cf4bdeef88c7d75fe9c2593972 (patch) | |
tree | e0cd124ba9820e2740bcf199954457be7d30319e /java/src/IceInternal/LocatorInfo.java | |
parent | Added interrupt test for retry sleeps (diff) | |
download | ice-d87cf8ef07bd13cf4bdeef88c7d75fe9c2593972.tar.bz2 ice-d87cf8ef07bd13cf4bdeef88c7d75fe9c2593972.tar.xz ice-d87cf8ef07bd13cf4bdeef88c7d75fe9c2593972.zip |
Fixed ICE-5458: Locator::getRegistry now returns a replicated proxy
Diffstat (limited to 'java/src/IceInternal/LocatorInfo.java')
-rw-r--r-- | java/src/IceInternal/LocatorInfo.java | 7 |
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; } } |