diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index 6ba0cc87d42..2627fb8348a 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -562,7 +562,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt checkForDeactivation(); IceInternal.Reference ref = ((ObjectPrxHelperBase)proxy).__reference(); - final IceInternal.EndpointI[] endpoints = ref.getEndpoints(); + IceInternal.EndpointI[] endpoints; try { @@ -575,11 +575,22 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt // return ir.getAdapterId().equals(_id); } + IceInternal.LocatorInfo info = ir.getLocatorInfo(); + if(info != null) + { + endpoints = info.getEndpoints(ir, new Ice.BooleanHolder()); + } + else + { + return false; + } } catch(ClassCastException e) { + endpoints = ref.getEndpoints(); } + // // Proxies which have at least one endpoint in common with the // endpoints used by this object adapter's incoming connection |