diff options
Diffstat (limited to 'java/src/IceInternal/IndirectReference.java')
-rw-r--r-- | java/src/IceInternal/IndirectReference.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/java/src/IceInternal/IndirectReference.java b/java/src/IceInternal/IndirectReference.java index d0c56776594..a1a563240cb 100644 --- a/java/src/IceInternal/IndirectReference.java +++ b/java/src/IceInternal/IndirectReference.java @@ -220,20 +220,16 @@ public class IndirectReference extends RoutableReference { endpts[i] = endpts[i].connectionId(_connectionId); } - EndpointI[] filteredEndpoints = filterEndpoints(endpts); - if(filteredEndpoints.length == 0) - { - Ice.NoEndpointException ex = new Ice.NoEndpointException(); - ex.proxy = toString(); - throw ex; - } try { - OutgoingConnectionFactory factory = getInstance().outgoingConnectionFactory(); - connection = factory.create(filteredEndpoints, comp); + connection = createConnection(endpts, comp); assert(connection != null); } + catch(Ice.NoEndpointException ex) + { + throw ex; // No need to retry if there's no endpoints. + } catch(Ice.LocalException ex) { if(getRouterInfo() == null) |