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