diff options
Diffstat (limited to 'java/src/Ice/ObjectAdapterI.java')
-rw-r--r-- | java/src/Ice/ObjectAdapterI.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java index 6275105e550..5fd915719ea 100644 --- a/java/src/Ice/ObjectAdapterI.java +++ b/java/src/Ice/ObjectAdapterI.java @@ -1275,9 +1275,13 @@ public final class ObjectAdapterI implements ObjectAdapter { try { - Process servant = new ProcessI(_communicator); - Ice.ObjectPrx process = createDirectProxy(addWithUUID(servant).ice_getIdentity()); - locatorRegistry.setServerProcessProxy(serverId, ProcessPrxHelper.uncheckedCast(process)); + if(_processId == null) + { + Process servant = new ProcessI(_communicator); + _processId = addWithUUID(servant).ice_getIdentity(); + } + locatorRegistry.setServerProcessProxy(serverId, + ProcessPrxHelper.uncheckedCast(createDirectProxy(_processId))); } catch(ServerNotFoundException ex) { @@ -1407,4 +1411,5 @@ public final class ObjectAdapterI implements ObjectAdapter private boolean _destroyed; private boolean _noConfig; private boolean _threadPerConnection; + private Identity _processId = null; } |