summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/IndirectReference.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/IndirectReference.java')
-rw-r--r--java/src/IceInternal/IndirectReference.java14
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)