summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/CommunicatorI.java15
-rw-r--r--java/src/Ice/ObjectAdapterI.java7
-rw-r--r--java/src/IceInternal/ObjectAdapterFactory.java4
3 files changed, 7 insertions, 19 deletions
diff --git a/java/src/Ice/CommunicatorI.java b/java/src/Ice/CommunicatorI.java
index d8d3c1c20a5..fddeecf9588 100644
--- a/java/src/Ice/CommunicatorI.java
+++ b/java/src/Ice/CommunicatorI.java
@@ -44,24 +44,13 @@ public final class CommunicatorI extends LocalObjectImpl implements Communicator
public ObjectAdapter
createObjectAdapter(String name)
{
- return _instance.objectAdapterFactory().createObjectAdapter(name);
+ return createObjectAdapterWithEndpoints(name, getProperties().getProperty(name + ".Endpoints"));
}
public ObjectAdapter
createObjectAdapterWithEndpoints(String name, String endpoints)
{
- final String propertyKey = new String(name + ".Endpoints");
- final String originalValue = getProperties().getProperty(propertyKey);
- try
- {
- getProperties().setProperty(propertyKey, endpoints);
- return createObjectAdapter(name);
- }
- catch(AlreadyRegisteredException ex)
- {
- getProperties().setProperty(propertyKey, originalValue);
- throw ex;
- }
+ return _instance.objectAdapterFactory().createObjectAdapter(name, endpoints);
}
public void
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java
index 227255d1def..79edfa2c418 100644
--- a/java/src/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/ObjectAdapterI.java
@@ -692,7 +692,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// Only for use by IceInternal.ObjectAdapterFactory
//
public
- ObjectAdapterI(IceInternal.Instance instance, Communicator communicator, String name)
+ ObjectAdapterI(IceInternal.Instance instance, Communicator communicator, String name, String endpointInfo)
{
_deactivated = false;
_instance = instance;
@@ -711,8 +711,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// The connection factory might change it, for example, to
// fill in the real port number.
//
- String endpts = _instance.properties().getProperty(name + ".Endpoints");
- java.util.ArrayList endpoints = parseEndpoints(endpts);
+ java.util.ArrayList endpoints = parseEndpoints(endpointInfo);
for(int i = 0; i < endpoints.size(); ++i)
{
IceInternal.Endpoint endp = (IceInternal.Endpoint)endpoints.get(i);
@@ -723,7 +722,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// Parse published endpoints. These are used in proxies
// instead of the connection factory endpoints.
//
- endpts = _instance.properties().getProperty(name + ".PublishedEndpoints");
+ String endpts = _instance.properties().getProperty(name + ".PublishedEndpoints");
_publishedEndpoints = parseEndpoints(endpts);
String router = _instance.properties().getProperty(name + ".Router");
diff --git a/java/src/IceInternal/ObjectAdapterFactory.java b/java/src/IceInternal/ObjectAdapterFactory.java
index e31442cd122..743718ff61f 100644
--- a/java/src/IceInternal/ObjectAdapterFactory.java
+++ b/java/src/IceInternal/ObjectAdapterFactory.java
@@ -114,7 +114,7 @@ public final class ObjectAdapterFactory
}
public synchronized Ice.ObjectAdapter
- createObjectAdapter(String name)
+ createObjectAdapter(String name, String endpoints)
{
if(_instance == null)
{
@@ -127,7 +127,7 @@ public final class ObjectAdapterFactory
throw new Ice.AlreadyRegisteredException("object adapter", name);
}
- adapter = new Ice.ObjectAdapterI(_instance, _communicator, name);
+ adapter = new Ice.ObjectAdapterI(_instance, _communicator, name, endpoints);
_adapters.put(name, adapter);
return adapter;
}