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