summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-04-07 13:59:51 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-04-07 13:59:51 +0000
commit800586d551a7631b0b0caeef697935af5e8140eb (patch)
treedadf42ec253537203ccb1428ce1844f0dfc2f8db /java
parentBug 803 - changed communicator initialization. (diff)
downloadice-800586d551a7631b0b0caeef697935af5e8140eb.tar.bz2
ice-800586d551a7631b0b0caeef697935af5e8140eb.tar.xz
ice-800586d551a7631b0b0caeef697935af5e8140eb.zip
Bug 803 - Changed communicator initialzation
Diffstat (limited to 'java')
-rw-r--r--java/CHANGES8
-rw-r--r--java/demo/Ice/hello/Hello.ice2
-rw-r--r--java/src/Ice/Application.java12
-rw-r--r--java/src/Ice/CommunicatorI.java30
-rw-r--r--java/src/Ice/ConnectionI.java16
-rw-r--r--java/src/Ice/InitializationData.java23
-rw-r--r--java/src/Ice/ObjectAdapterI.java31
-rw-r--r--java/src/Ice/Util.java77
-rw-r--r--java/src/IceBox/ServiceManagerI.java4
-rwxr-xr-xjava/src/IceGridGUI/Coordinator.java4
-rw-r--r--java/src/IceInternal/BasicStream.java12
-rw-r--r--java/src/IceInternal/ConnectionMonitor.java6
-rw-r--r--java/src/IceInternal/Incoming.java12
-rw-r--r--java/src/IceInternal/IncomingAsync.java21
-rw-r--r--java/src/IceInternal/IncomingBase.java2
-rw-r--r--java/src/IceInternal/IncomingConnectionFactory.java6
-rw-r--r--java/src/IceInternal/IndirectReference.java3
-rw-r--r--java/src/IceInternal/Instance.java135
-rw-r--r--java/src/IceInternal/LocatorInfo.java5
-rw-r--r--java/src/IceInternal/OutgoingAsync.java5
-rw-r--r--java/src/IceInternal/OutgoingConnectionFactory.java2
-rw-r--r--java/src/IceInternal/ProxyFactory.java4
-rw-r--r--java/src/IceInternal/Reference.java2
-rw-r--r--java/src/IceInternal/ReferenceFactory.java20
-rw-r--r--java/src/IceInternal/ServantManager.java2
-rw-r--r--java/src/IceInternal/TcpAcceptor.java2
-rw-r--r--java/src/IceInternal/TcpConnector.java2
-rw-r--r--java/src/IceInternal/TcpTransceiver.java4
-rw-r--r--java/src/IceInternal/ThreadPool.java43
-rw-r--r--java/src/IceInternal/UdpTransceiver.java14
-rw-r--r--java/test/Ice/exceptions/Server.java15
-rw-r--r--java/test/Ice/exceptionsAMD/Server.java15
-rw-r--r--java/test/Ice/location/Client.java7
-rw-r--r--java/test/Ice/operations/Collocated.java1
-rw-r--r--java/test/Ice/operations/Twoways.java81
-rw-r--r--java/test/Ice/operations/TwowaysAMI.java113
36 files changed, 349 insertions, 392 deletions
diff --git a/java/CHANGES b/java/CHANGES
index 22e819453df..5e1eb453e73 100644
--- a/java/CHANGES
+++ b/java/CHANGES
@@ -1,6 +1,14 @@
Changes since version 3.0.1
---------------------------
+- Added communicator initialize method which takes a InitializationData
+ structure containing communicator members which are only allowed
+ to be set during communicator creation. Currently included are
+ Properties, Logger, Stats and default context. The initializeWith
+ communicator initialization functions have been deprecated and the
+ setLogger(), setStats() and setDefaultContext() methods have been
+ removed.
+
- Fixed a bug where the ice_locator proxy method wouldn't change the
proxy locator.
diff --git a/java/demo/Ice/hello/Hello.ice b/java/demo/Ice/hello/Hello.ice
index a83a5c601b7..217b242d08e 100644
--- a/java/demo/Ice/hello/Hello.ice
+++ b/java/demo/Ice/hello/Hello.ice
@@ -15,7 +15,7 @@ module Demo
interface Hello
{
- nonmutating void sayHello();
+ ["deprecate:Do not use this method"] nonmutating void sayHello();
idempotent void shutdown();
};
diff --git a/java/src/Ice/Application.java b/java/src/Ice/Application.java
index 055d92a761f..511fb843102 100644
--- a/java/src/Ice/Application.java
+++ b/java/src/Ice/Application.java
@@ -51,17 +51,15 @@ public abstract class Application
try
{
+ InitializationData initData = new InitializationData();
+ initData.logger = logger;
StringSeqHolder argHolder = new StringSeqHolder(args);
if(configFile != null)
{
- Properties properties = Util.createProperties();
- properties.load(configFile);
- _communicator = Util.initializeWithPropertiesAndLogger(argHolder, properties, logger);
- }
- else
- {
- _communicator = Util.initializeWithLogger(argHolder, logger);
+ initData.properties = Util.createProperties();
+ initData.properties.load(configFile);
}
+ _communicator = Util.initialize(argHolder, initData);
//
// The default is to destroy when a signal is received.
diff --git a/java/src/Ice/CommunicatorI.java b/java/src/Ice/CommunicatorI.java
index a068b523ab0..d09f9f34261 100644
--- a/java/src/Ice/CommunicatorI.java
+++ b/java/src/Ice/CommunicatorI.java
@@ -74,31 +74,19 @@ public final class CommunicatorI extends LocalObjectImpl implements Communicator
public Properties
getProperties()
{
- return _instance.properties();
+ return _instance.initializationData().properties;
}
public Logger
getLogger()
{
- return _instance.logger();
- }
-
- public void
- setLogger(Logger logger)
- {
- _instance.logger(logger);
+ return _instance.initializationData().logger;
}
public Stats
getStats()
{
- return _instance.stats();
- }
-
- public void
- setStats(Stats stats)
- {
- _instance.stats(stats);
+ return _instance.initializationData().stats;
}
public RouterPrx
@@ -128,13 +116,7 @@ public final class CommunicatorI extends LocalObjectImpl implements Communicator
public java.util.Map
getDefaultContext()
{
- return _instance.getDefaultContext();
- }
-
- public void
- setDefaultContext(java.util.Map ctx)
- {
- _instance.setDefaultContext(ctx);
+ return _instance.initializationData().defaultContext;
}
public PluginManager
@@ -149,9 +131,9 @@ public final class CommunicatorI extends LocalObjectImpl implements Communicator
_instance.flushBatchRequests();
}
- CommunicatorI(Properties properties, Logger logger)
+ CommunicatorI(InitializationData initData)
{
- _instance = new IceInternal.Instance(this, properties, logger);
+ _instance = new IceInternal.Instance(this, initData);
}
/**
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index 6923188a706..5465b018d68 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1020,8 +1020,9 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
//
ConnectionI[] connections = new ConnectionI[1];
connections[0] = this;
- IceInternal.Reference ref = _instance.referenceFactory().create(ident, _instance.getDefaultContext(), "",
- IceInternal.Reference.ModeTwoway, connections);
+ IceInternal.Reference ref =
+ _instance.referenceFactory().create(ident, _instance.initializationData().defaultContext, "",
+ IceInternal.Reference.ModeTwoway, connections);
return _instance.proxyFactory().referenceToProxy(ref);
}
@@ -1220,11 +1221,11 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
_type = transceiver.type();
_endpoint = endpoint;
_adapter = adapter;
- _logger = instance.logger(); // Cached for better performance.
+ _logger = instance.initializationData().logger; // Cached for better performance.
_traceLevels = instance.traceLevels(); // Cached for better performance.
_registeredWithPool = false;
_finishedCount = 0;
- _warn = _instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
+ _warn = _instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
_acmAbsoluteTimeoutMillis = 0;
_nextRequestId = 1;
_batchStream = new IceInternal.BasicStream(instance);
@@ -1251,7 +1252,8 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
}
}
- int compressionLevel = _instance.properties().getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
+ int compressionLevel =
+ _instance.initializationData().properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
if(compressionLevel < 1)
{
compressionLevel = 1;
@@ -1318,7 +1320,7 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
s = "cannot create thread pool for connection:\n";
}
s += sw.toString();
- _instance.logger().error(s);
+ _logger.error(s);
try
{
@@ -2049,7 +2051,7 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
activate();
}
- boolean warnUdp = _instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ boolean warnUdp = _instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
boolean closed = false;
diff --git a/java/src/Ice/InitializationData.java b/java/src/Ice/InitializationData.java
new file mode 100644
index 00000000000..1e1bc3ba34b
--- /dev/null
+++ b/java/src/Ice/InitializationData.java
@@ -0,0 +1,23 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package Ice;
+
+public final class InitializationData
+{
+ public
+ InitializationData()
+ {
+ }
+
+ public Properties properties;
+ public Logger logger;
+ public Stats stats;
+ public java.util.Map defaultContext;
+}
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java
index f483bfa0563..ab1c799df2e 100644
--- a/java/src/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/ObjectAdapterI.java
@@ -44,9 +44,11 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
if(!_printAdapterReadyDone)
{
locatorInfo = _locatorInfo;
- registerProcess = _instance.properties().getPropertyAsInt(_name + ".RegisterProcess") > 0;
- serverId = _instance.properties().getProperty("Ice.ServerId");
- printAdapterReady = _instance.properties().getPropertyAsInt("Ice.PrintAdapterReady") > 0;
+ registerProcess =
+ _instance.initializationData().properties.getPropertyAsInt(_name + ".RegisterProcess") > 0;
+ serverId = _instance.initializationData().properties.getProperty("Ice.ServerId");
+ printAdapterReady =
+ _instance.initializationData().properties.getPropertyAsInt("Ice.PrintAdapterReady") > 0;
communicator = _communicator;
_printAdapterReadyDone = true;
}
@@ -511,8 +513,9 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
IceInternal.EndpointI[] endpoints = new IceInternal.EndpointI[0];
ConnectionI[] arr = new ConnectionI[connections.size()];
connections.toArray(arr);
- IceInternal.Reference ref = _instance.referenceFactory().create(ident, _instance.getDefaultContext(), "",
- IceInternal.Reference.ModeTwoway, arr);
+ IceInternal.Reference ref =
+ _instance.referenceFactory().create(ident, _instance.initializationData().defaultContext, "",
+ IceInternal.Reference.ModeTwoway, arr);
return _instance.proxyFactory().referenceToProxy(ref);
}
@@ -814,8 +817,8 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
_servantManager = new IceInternal.ServantManager(instance, name);
_printAdapterReadyDone = false;
_name = name;
- _id = instance.properties().getProperty(name + ".AdapterId");
- _replicaGroupId = instance.properties().getProperty(name + ".ReplicaGroupId");
+ _id = instance.initializationData().properties.getProperty(name + ".AdapterId");
+ _replicaGroupId = instance.initializationData().properties.getProperty(name + ".ReplicaGroupId");
_directCount = 0;
_waitForDeactivate = false;
@@ -837,7 +840,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// Parse published endpoints. If set, these are used in proxies
// instead of the connection factory Endpoints.
//
- String endpts = _instance.properties().getProperty(name + ".PublishedEndpoints");
+ String endpts = _instance.initializationData().properties.getProperty(name + ".PublishedEndpoints");
_publishedEndpoints = parseEndpoints(endpts);
if(_publishedEndpoints.size() == 0)
{
@@ -862,13 +865,13 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
}
}
- String router = _instance.properties().getProperty(name + ".Router");
+ String router = _instance.initializationData().properties.getProperty(name + ".Router");
if(router.length() > 0)
{
addRouter(RouterPrxHelper.uncheckedCast(_instance.proxyFactory().stringToProxy(router)));
}
- String locator = _instance.properties().getProperty(name + ".Locator");
+ String locator = _instance.initializationData().properties.getProperty(name + ".Locator");
if(locator.length() > 0)
{
setLocator(LocatorPrxHelper.uncheckedCast(_instance.proxyFactory().stringToProxy(locator)));
@@ -880,8 +883,8 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
if(!_instance.threadPerConnection())
{
- int size = _instance.properties().getPropertyAsInt(_name + ".ThreadPool.Size");
- int sizeMax = _instance.properties().getPropertyAsInt(_name + ".ThreadPool.SizeMax");
+ int size = _instance.initializationData().properties.getPropertyAsInt(_name + ".ThreadPool.Size");
+ int sizeMax = _instance.initializationData().properties.getPropertyAsInt(_name + ".ThreadPool.SizeMax");
if(size > 0 || sizeMax > 0)
{
_threadPool = new IceInternal.ThreadPool(_instance, _name + ".ThreadPool", 0);
@@ -906,7 +909,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// For compatibility with C#, we do not invoke methods on other objects
// in a finalizer.
//
- //_instance.logger().warning("object adapter `" + _name + "' has not been deactivated");
+ //_instance.initializationData().logger.warning("object adapter `" + _name + "' has not been deactivated");
}
else if(_instance != null)
{
@@ -914,7 +917,7 @@ public final class ObjectAdapterI extends LocalObjectImpl implements ObjectAdapt
// For compatibility with C#, we do not invoke methods on other objects
// in a finalizer.
//
- //_instance.logger().warning("object adapter `" + _name + "' deactivation had not been waited for");
+ //_instance.initializationData().logger.warning("object adapter `" + _name + "' deactivation had not been waited for");
}
else
{
diff --git a/java/src/Ice/Util.java b/java/src/Ice/Util.java
index d4250195bf8..e38c9afa162 100644
--- a/java/src/Ice/Util.java
+++ b/java/src/Ice/Util.java
@@ -66,8 +66,8 @@ public final class Util
public static Communicator
initialize(StringSeqHolder args)
{
- Properties properties = getDefaultProperties(args);
- return initializeWithPropertiesAndLogger(args, properties, null);
+ InitializationData initData = new InitializationData();
+ return initialize(args, initData);
}
public static Communicator
@@ -78,47 +78,92 @@ public final class Util
}
public static Communicator
+ initialize(StringSeqHolder args, InitializationData initData)
+ {
+ if(initData.properties == null)
+ {
+ initData.properties = getDefaultProperties(args);
+ }
+ args.value = initData.properties.parseIceCommandLineOptions(args.value);
+
+ CommunicatorI result = new CommunicatorI(initData);
+ result.finishSetup(args);
+ return result;
+ }
+
+ public static Communicator
+ initialize(String[] args, InitializationData initData)
+ {
+ StringSeqHolder argsH = new StringSeqHolder(args);
+ return initialize(argsH, initData);
+ }
+
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
+ public static Communicator
initializeWithLogger(StringSeqHolder args, Logger logger)
{
- Properties properties = getDefaultProperties(args);
- return initializeWithPropertiesAndLogger(args, properties, logger);
+ InitializationData initData = new InitializationData();
+ initData.logger = logger;
+ return initialize(args, initData);
}
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
public static Communicator
initializeWithLogger(String[] args, Logger logger)
{
- StringSeqHolder argsH = new StringSeqHolder(args);
- return initializeWithLogger(argsH, logger);
+ InitializationData initData = new InitializationData();
+ initData.logger = logger;
+ return initialize(args, initData);
}
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
public static Communicator
initializeWithProperties(StringSeqHolder args, Properties properties)
{
- return initializeWithPropertiesAndLogger(args, properties, null);
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ return initialize(args, initData);
}
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
public static Communicator
initializeWithProperties(String[] args, Properties properties)
{
- StringSeqHolder argsH = new StringSeqHolder(args);
- return initializeWithProperties(argsH, properties);
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ return initialize(args, initData);
}
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
public static Communicator
initializeWithPropertiesAndLogger(StringSeqHolder args, Properties properties, Logger logger)
{
- args.value = properties.parseIceCommandLineOptions(args.value);
-
- CommunicatorI result = new CommunicatorI(properties, logger);
- result.finishSetup(args);
- return result;
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ initData.logger = logger;
+ return initialize(args, initData);
}
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
public static Communicator
initializeWithPropertiesAndLogger(String[] args, Properties properties, Logger logger)
{
- StringSeqHolder argsH = new StringSeqHolder(args);
- return initializeWithPropertiesAndLogger(argsH, properties, logger);
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ initData.logger = logger;
+ return initialize(args, initData);
}
public static IceInternal.Instance
diff --git a/java/src/IceBox/ServiceManagerI.java b/java/src/IceBox/ServiceManagerI.java
index f4561266404..f61143cd1a7 100644
--- a/java/src/IceBox/ServiceManagerI.java
+++ b/java/src/IceBox/ServiceManagerI.java
@@ -345,7 +345,9 @@ public class ServiceManagerI extends _ServiceManagerDisp
// communicator with argc/argv. This is necessary for Ice
// plugin properties (e.g.: IceSSL).
//
- info.communicator = Ice.Util.initializeWithProperties(serviceArgs, serviceProperties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = serviceProperties;
+ info.communicator = Ice.Util.initialize(serviceArgs, initData);
}
Ice.Communicator communicator = info.communicator != null ? info.communicator : _server.communicator();
diff --git a/java/src/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/Coordinator.java
index 61a474d4572..afe749c2153 100755
--- a/java/src/IceGridGUI/Coordinator.java
+++ b/java/src/IceGridGUI/Coordinator.java
@@ -1194,7 +1194,9 @@ public class Coordinator
// For now we retry to work-around bug #574:
// properties.setProperty("Ice.RetryIntervals", "-1");
- return Ice.Util.initializeWithProperties(argSeq, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = properties;
+ return Ice.Util.initialize(argSeq, initData);
}
Coordinator(JFrame mainFrame, String[] args, Preferences prefs)
diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java
index 6b50753ab39..389ac5a0577 100644
--- a/java/src/IceInternal/BasicStream.java
+++ b/java/src/IceInternal/BasicStream.java
@@ -1333,7 +1333,7 @@ public class BasicStream
}
if(_traceSlicing > 0)
{
- TraceUtil.traceSlicing("class", id, _slicingCat, _instance.logger());
+ TraceUtil.traceSlicing("class", id, _slicingCat, _instance.initializationData().logger);
}
skipSlice(); // Slice off this derived part -- we don't understand it.
id = readTypeId(); // Read next id for next iteration.
@@ -1427,7 +1427,7 @@ public class BasicStream
}
if(_traceSlicing > 0)
{
- TraceUtil.traceSlicing("exception", id, _slicingCat, _instance.logger());
+ TraceUtil.traceSlicing("exception", id, _slicingCat, _instance.initializationData().logger);
}
skipSlice(); // Slice off what we don't understand.
id = readString(); // Read type id for next slice.
@@ -1520,7 +1520,7 @@ public class BasicStream
out.print("exception raised by ice_postUnmarshal:\n");
ex.printStackTrace(pw);
pw.flush();
- _instance.logger().warning(sw.toString());
+ _instance.initializationData().logger.warning(sw.toString());
}
}
}
@@ -1549,7 +1549,7 @@ public class BasicStream
out.print("exception raised by ice_preMarshal:\n");
ex.printStackTrace(pw);
pw.flush();
- _instance.logger().warning(sw.toString());
+ _instance.initializationData().logger.warning(sw.toString());
}
v.__write(this);
}
@@ -2085,7 +2085,7 @@ public class BasicStream
if(pos != -1)
{
String topLevelModule = id.substring(2, pos);
- String pkg = _instance.properties().getProperty("Ice.Package." + topLevelModule);
+ String pkg = _instance.initializationData().properties.getProperty("Ice.Package." + topLevelModule);
if(pkg.length() > 0)
{
c = getConcreteClass(pkg + "." + className);
@@ -2095,7 +2095,7 @@ public class BasicStream
if(c == null)
{
- String pkg = _instance.properties().getProperty("Ice.Default.Package");
+ String pkg = _instance.initializationData().properties.getProperty("Ice.Default.Package");
if(pkg.length() > 0)
{
c = getConcreteClass(pkg + "." + className);
diff --git a/java/src/IceInternal/ConnectionMonitor.java b/java/src/IceInternal/ConnectionMonitor.java
index c0ff9b9537a..057ae4e5520 100644
--- a/java/src/IceInternal/ConnectionMonitor.java
+++ b/java/src/IceInternal/ConnectionMonitor.java
@@ -64,7 +64,7 @@ public final class ConnectionMonitor extends Thread
_instance = instance;
_interval = interval;
- String threadName = _instance.properties().getProperty("Ice.ProgramName");
+ String threadName = _instance.initializationData().properties.getProperty("Ice.ProgramName");
if(threadName.length() > 0)
{
threadName += "-";
@@ -144,7 +144,7 @@ public final class ConnectionMonitor extends Thread
pw.flush();
String s = "exception in connection monitor thread " + getName() + ":\n" +
sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
}
catch(java.lang.Exception ex)
@@ -161,7 +161,7 @@ public final class ConnectionMonitor extends Thread
pw.flush();
String s = "unknown exception in connection monitor thread " + getName() + ":\n" +
sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
}
}
diff --git a/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java
index 2c5b76093da..b98f3903354 100644
--- a/java/src/IceInternal/Incoming.java
+++ b/java/src/IceInternal/Incoming.java
@@ -174,7 +174,7 @@ final public class Incoming extends IncomingBase
ex.operation = _current.operation;
}
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
{
__warning(ex);
}
@@ -229,7 +229,7 @@ final public class Incoming extends IncomingBase
{
_is.endReadEncaps();
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -253,7 +253,7 @@ final public class Incoming extends IncomingBase
{
_is.endReadEncaps();
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -277,7 +277,7 @@ final public class Incoming extends IncomingBase
{
_is.endReadEncaps();
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -301,7 +301,7 @@ final public class Incoming extends IncomingBase
{
_is.endReadEncaps();
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -336,7 +336,7 @@ final public class Incoming extends IncomingBase
{
_is.endReadEncaps();
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
diff --git a/java/src/IceInternal/IncomingAsync.java b/java/src/IceInternal/IncomingAsync.java
index 3f324e3c8fa..adbd181a9b8 100644
--- a/java/src/IceInternal/IncomingAsync.java
+++ b/java/src/IceInternal/IncomingAsync.java
@@ -100,7 +100,8 @@ public class IncomingAsync extends IncomingBase
ex.operation = _current.operation;
}
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 1)
{
__warning(ex);
}
@@ -151,7 +152,8 @@ public class IncomingAsync extends IncomingBase
}
catch(Ice.UnknownLocalException ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -171,7 +173,8 @@ public class IncomingAsync extends IncomingBase
}
catch(Ice.UnknownUserException ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -191,7 +194,8 @@ public class IncomingAsync extends IncomingBase
}
catch(Ice.UnknownException ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -211,7 +215,8 @@ public class IncomingAsync extends IncomingBase
}
catch(Ice.LocalException ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -236,7 +241,8 @@ public class IncomingAsync extends IncomingBase
}
catch(Ice.UserException ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
@@ -261,7 +267,8 @@ public class IncomingAsync extends IncomingBase
}
catch(java.lang.Exception ex)
{
- if(_os.instance().properties().getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Dispatch", 1) > 0)
{
__warning(ex);
}
diff --git a/java/src/IceInternal/IncomingBase.java b/java/src/IceInternal/IncomingBase.java
index 24a20eaa3c7..f32bbaa8809 100644
--- a/java/src/IceInternal/IncomingBase.java
+++ b/java/src/IceInternal/IncomingBase.java
@@ -125,7 +125,7 @@ public class IncomingBase
out.print("\n");
ex.printStackTrace(pw);
pw.flush();
- _os.instance().logger().warning(sw.toString());
+ _os.instance().initializationData().logger.warning(sw.toString());
}
protected Ice.Current _current;
diff --git a/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java
index de0c7a8af56..df032a220da 100644
--- a/java/src/IceInternal/IncomingConnectionFactory.java
+++ b/java/src/IceInternal/IncomingConnectionFactory.java
@@ -356,7 +356,7 @@ public final class IncomingConnectionFactory extends EventHandler
_adapter = adapter;
_registeredWithPool = false;
_finishedCount = 0;
- _warn = _instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
+ _warn = _instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
_state = StateHolding;
DefaultsAndOverrides defaultsAndOverrides = _instance.defaultsAndOverrides();
@@ -603,7 +603,7 @@ public final class IncomingConnectionFactory extends EventHandler
ex.printStackTrace(pw);
pw.flush();
String s = "connection exception:\n" + sw.toString() + '\n' + _acceptor.toString();
- _instance.logger().warning(s);
+ _instance.initializationData().logger.warning(s);
}
private void
@@ -614,7 +614,7 @@ public final class IncomingConnectionFactory extends EventHandler
ex.printStackTrace(pw);
pw.flush();
String s = msg + ":\n" + toString() + "\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
private void
diff --git a/java/src/IceInternal/IndirectReference.java b/java/src/IceInternal/IndirectReference.java
index cf878efafb9..3564985d8a6 100644
--- a/java/src/IceInternal/IndirectReference.java
+++ b/java/src/IceInternal/IndirectReference.java
@@ -236,13 +236,12 @@ public class IndirectReference extends RoutableReference
if(cached.value)
{
TraceLevels traceLevels = getInstance().traceLevels();
- Ice.Logger logger = getInstance().logger();
if(traceLevels.retry >= 2)
{
String s = "connection to cached endpoints failed\n" +
"removing endpoints from cache and trying one more time\n" + ex;
- logger.trace(traceLevels.retryCat, s);
+ getInstance().initializationData().logger.trace(traceLevels.retryCat, s);
}
continue;
diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java
index d02db083069..81d0cc61c73 100644
--- a/java/src/IceInternal/Instance.java
+++ b/java/src/IceInternal/Instance.java
@@ -11,59 +11,16 @@ package IceInternal;
public final class Instance
{
- public Ice.Properties
- properties()
+ public Ice.InitializationData
+ initializationData()
{
//
// No check for destruction. It must be possible to access the
- // properties after destruction.
+ // initialization data after destruction.
//
// No mutex lock, immutable.
//
- return _properties;
- }
-
- public synchronized Ice.Logger
- logger()
- {
- //
- // No check for destruction. It must be possible to access the
- // logger after destruction.
- //
- return _logger;
- }
-
- public synchronized void
- logger(Ice.Logger logger)
- {
- //
- // No check for destruction. It must be possible to set the
- // logger after destruction (needed by logger plugins for
- // example to unset the logger).
- //
- _logger = logger;
- }
-
- public synchronized Ice.Stats
- stats()
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- return _stats;
- }
-
- public synchronized void
- stats(Ice.Stats stats)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- _stats = stats;
+ return _initData;
}
public TraceLevels
@@ -194,7 +151,7 @@ public final class Instance
if(_serverThreadPool == null) // Lazy initialization.
{
- int timeout = _properties.getPropertyAsInt("Ice.ServerIdleTime");
+ int timeout = _initData.properties.getPropertyAsInt("Ice.ServerIdleTime");
_serverThreadPool = new ThreadPool(this, "Ice.ThreadPool.Server", timeout);
}
@@ -256,35 +213,6 @@ public final class Instance
return _serverACM;
}
- public synchronized void
- setDefaultContext(java.util.Map ctx)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- if(ctx == null || ctx.isEmpty())
- {
- _defaultContext = _emptyContext;
- }
- else
- {
- _defaultContext = new java.util.HashMap(ctx);
- }
- }
-
- public synchronized java.util.Map
- getDefaultContext()
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- return new java.util.HashMap(_defaultContext);
- }
-
public void
flushBatchRequests()
{
@@ -310,11 +238,10 @@ public final class Instance
// Only for use by Ice.CommunicatorI
//
public
- Instance(Ice.Communicator communicator, Ice.Properties properties, Ice.Logger logger)
+ Instance(Ice.Communicator communicator, Ice.InitializationData initData)
{
_state = StateActive;
- _properties = properties;
- _logger = logger;
+ _initData = initData;
try
{
@@ -322,8 +249,8 @@ public final class Instance
{
if(!_oneOffDone)
{
- String stdOut = _properties.getProperty("Ice.StdOut");
- String stdErr = _properties.getProperty("Ice.StdErr");
+ String stdOut = _initData.properties.getProperty("Ice.StdOut");
+ String stdErr = _initData.properties.getProperty("Ice.StdErr");
java.io.PrintStream outStream = null;
@@ -380,30 +307,28 @@ public final class Instance
}
}
- if(_logger == null)
+ if(_initData.logger == null)
{
- if(_properties.getPropertyAsInt("Ice.UseSyslog") > 0)
+ if(_initData.properties.getPropertyAsInt("Ice.UseSyslog") > 0)
{
- _logger = new Ice.SysLoggerI(_properties.getProperty("Ice.ProgramName"));
+ _initData.logger = new Ice.SysLoggerI(_initData.properties.getProperty("Ice.ProgramName"));
}
else
{
- _logger = new Ice.LoggerI(_properties.getProperty("Ice.ProgramName"),
- _properties.getPropertyAsInt("Ice.Logger.Timestamp") > 0);
+ _initData.logger = new Ice.LoggerI(_initData.properties.getProperty("Ice.ProgramName"),
+ _initData.properties.getPropertyAsInt("Ice.Logger.Timestamp") > 0);
}
}
- _stats = null; // There is no default statistics callback object.
-
validatePackages();
- _traceLevels = new TraceLevels(_properties);
+ _traceLevels = new TraceLevels(_initData.properties);
- _defaultsAndOverrides = new DefaultsAndOverrides(_properties);
+ _defaultsAndOverrides = new DefaultsAndOverrides(_initData.properties);
{
final int defaultMessageSizeMax = 1024;
- int num = _properties.getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
+ int num = _initData.properties.getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
if(num < 1)
{
_messageSizeMax = defaultMessageSizeMax * 1024; // Ignore stupid values.
@@ -421,13 +346,13 @@ public final class Instance
//
// Client ACM enabled by default. Server ACM disabled by default.
//
- _clientACM = _properties.getPropertyAsIntWithDefault("Ice.ACM.Client", 60);
- _serverACM = _properties.getPropertyAsInt("Ice.ACM.Server");
+ _clientACM = _initData.properties.getPropertyAsIntWithDefault("Ice.ACM.Client", 60);
+ _serverACM = _initData.properties.getPropertyAsInt("Ice.ACM.Server");
- _threadPerConnection = _properties.getPropertyAsInt("Ice.ThreadPerConnection") > 0;
+ _threadPerConnection = _initData.properties.getPropertyAsInt("Ice.ThreadPerConnection") > 0;
{
- int stackSize = _properties.getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
+ int stackSize = _initData.properties.getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
if(stackSize < 0)
{
stackSize = 0;
@@ -451,7 +376,10 @@ public final class Instance
_pluginManager = new Ice.PluginManagerI(communicator);
- _defaultContext = _emptyContext;
+ if(_initData.defaultContext == null)
+ {
+ _initData.defaultContext = _emptyContext;
+ }
_outgoingConnectionFactory = new OutgoingConnectionFactory(this);
@@ -536,7 +464,7 @@ public final class Instance
{
interval = _serverACM;
}
- interval = _properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
+ interval = _initData.properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
if(interval > 0)
{
_connectionMonitor = new ConnectionMonitor(this, interval);
@@ -684,7 +612,7 @@ public final class Instance
validatePackages()
{
final String prefix = "Ice.Package.";
- java.util.Map map = _properties.getPropertiesForPrefix(prefix);
+ java.util.Map map = _initData.properties.getPropertiesForPrefix(prefix);
java.util.Iterator p = map.entrySet().iterator();
while(p.hasNext())
{
@@ -693,7 +621,7 @@ public final class Instance
String pkg = (String)e.getValue();
if(key.length() == prefix.length())
{
- _logger.warning("ignoring invalid property: " + key + "=" + pkg);
+ _initData.logger.warning("ignoring invalid property: " + key + "=" + pkg);
}
String module = key.substring(prefix.length());
String className = pkg + "." + module + "._Marker";
@@ -703,7 +631,7 @@ public final class Instance
}
catch(java.lang.Exception ex)
{
- _logger.warning("unable to validate package: " + key + "=" + pkg);
+ _initData.logger.warning("unable to validate package: " + key + "=" + pkg);
}
}
}
@@ -713,9 +641,7 @@ public final class Instance
private static final int StateDestroyed = 2;
private int _state;
- private final Ice.Properties _properties; // Immutable, not reset by destroy().
- private Ice.Logger _logger; // Not reset by destroy().
- private Ice.Stats _stats; // Not reset by destroy().
+ private final Ice.InitializationData _initData; // Immutable, not reset by destroy().
private final TraceLevels _traceLevels; // Immutable, not reset by destroy().
private final DefaultsAndOverrides _defaultsAndOverrides; // Immutable, not reset by destroy().
private final int _messageSizeMax; // Immutable, not reset by destroy().
@@ -735,7 +661,6 @@ public final class Instance
private final int _threadPerConnectionStackSize;
private EndpointFactoryManager _endpointFactoryManager;
private Ice.PluginManager _pluginManager;
- private java.util.Map _defaultContext;
private static java.util.Map _emptyContext = new java.util.HashMap();
private static boolean _oneOffDone = false;
diff --git a/java/src/IceInternal/LocatorInfo.java b/java/src/IceInternal/LocatorInfo.java
index 515b320ca1d..6741705298a 100644
--- a/java/src/IceInternal/LocatorInfo.java
+++ b/java/src/IceInternal/LocatorInfo.java
@@ -173,7 +173,8 @@ public final class LocatorInfo
s.append("object = " + Ice.Util.identityToString(identity) + "\n");
}
s.append("reason = " + ex);
- ref.getInstance().logger().trace(ref.getInstance().traceLevels().locationCat, s.toString());
+ ref.getInstance().initializationData().logger.trace(
+ ref.getInstance().traceLevels().locationCat, s.toString());
}
throw ex;
}
@@ -281,7 +282,7 @@ public final class LocatorInfo
s.append(":");
}
- ref.getInstance().logger().trace(ref.getInstance().traceLevels().locationCat, s.toString());
+ ref.getInstance().initializationData().logger.trace(ref.getInstance().traceLevels().locationCat, s.toString());
}
private final Ice.LocatorPrx _locator;
diff --git a/java/src/IceInternal/OutgoingAsync.java b/java/src/IceInternal/OutgoingAsync.java
index ad2264eb543..b8c58de5288 100644
--- a/java/src/IceInternal/OutgoingAsync.java
+++ b/java/src/IceInternal/OutgoingAsync.java
@@ -383,7 +383,8 @@ public abstract class OutgoingAsync
if(__os != null) // Don't print anything if cleanup() was already called.
{
Reference ref = ((Ice.ObjectPrxHelperBase)_proxy).__reference();
- if(ref.getInstance().properties().getPropertyAsIntWithDefault("Ice.Warn.AMICallback", 1) > 0)
+ if(ref.getInstance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.AMICallback", 1) > 0)
{
java.io.StringWriter sw = new java.io.StringWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(sw);
@@ -392,7 +393,7 @@ public abstract class OutgoingAsync
out.print("exception raised by AMI callback:\n");
ex.printStackTrace(pw);
pw.flush();
- ref.getInstance().logger().warning(sw.toString());
+ ref.getInstance().initializationData().logger.warning(sw.toString());
}
}
}
diff --git a/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java
index 1ce3a896699..388c2b71027 100644
--- a/java/src/IceInternal/OutgoingConnectionFactory.java
+++ b/java/src/IceInternal/OutgoingConnectionFactory.java
@@ -350,7 +350,7 @@ public final class OutgoingConnectionFactory
s.append(" and no more endpoints to try\n");
}
s.append(exception.toString());
- _instance.logger().trace(traceLevels.retryCat, s.toString());
+ _instance.initializationData().logger.trace(traceLevels.retryCat, s.toString());
}
}
diff --git a/java/src/IceInternal/ProxyFactory.java b/java/src/IceInternal/ProxyFactory.java
index 13f125e5e9b..4db252530c7 100644
--- a/java/src/IceInternal/ProxyFactory.java
+++ b/java/src/IceInternal/ProxyFactory.java
@@ -129,7 +129,7 @@ public final class ProxyFactory
assert(cnt > 0);
TraceLevels traceLevels = _instance.traceLevels();
- Ice.Logger logger = _instance.logger();
+ Ice.Logger logger = _instance.initializationData().logger;
if(cnt > _retryIntervals.length)
{
@@ -178,7 +178,7 @@ public final class ProxyFactory
{
_instance = instance;
- String str = _instance.properties().getPropertyWithDefault("Ice.RetryIntervals", "0");
+ String str = _instance.initializationData().properties.getPropertyWithDefault("Ice.RetryIntervals", "0");
String[] arr = str.trim().split("[ \t\n\r]+");
diff --git a/java/src/IceInternal/Reference.java b/java/src/IceInternal/Reference.java
index f1569b464e7..9e75e74f528 100644
--- a/java/src/IceInternal/Reference.java
+++ b/java/src/IceInternal/Reference.java
@@ -52,7 +52,7 @@ public abstract class Reference implements Cloneable
defaultContext()
{
Reference r = _instance.referenceFactory().copy(this);
- r._context = _instance.getDefaultContext();
+ r._context = _instance.initializationData().defaultContext;
return r;
}
diff --git a/java/src/IceInternal/ReferenceFactory.java b/java/src/IceInternal/ReferenceFactory.java
index 9c1923b1a3f..09f5d789e11 100644
--- a/java/src/IceInternal/ReferenceFactory.java
+++ b/java/src/IceInternal/ReferenceFactory.java
@@ -390,8 +390,8 @@ public final class ReferenceFactory
if(beg == -1)
{
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, "", routerInfo, locatorInfo,
- _instance.defaultsAndOverrides().defaultCollocationOptimization,
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, "", routerInfo,
+ locatorInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization,
_instance.defaultsAndOverrides().defaultLocatorCacheTimeout);
}
@@ -431,7 +431,7 @@ public final class ReferenceFactory
throw e;
}
else if(unknownEndpoints.size() != 0 &&
- _instance.properties().getPropertyAsIntWithDefault("Ice.Warn.Endpoints", 1) > 0)
+ _instance.initializationData().properties.getPropertyAsIntWithDefault("Ice.Warn.Endpoints", 1) > 0)
{
String msg = "Proxy contains unknown endpoints:";
java.util.Iterator iter = unknownEndpoints.iterator();
@@ -439,12 +439,12 @@ public final class ReferenceFactory
{
msg += " `" + (String)iter.next() + "'";
}
- _instance.logger().warning(msg);
+ _instance.initializationData().logger.warning(msg);
}
EndpointI[] endp = new EndpointI[endpoints.size()];
endpoints.toArray(endp);
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, endp, routerInfo,
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endp, routerInfo,
_instance.defaultsAndOverrides().defaultCollocationOptimization);
}
else if(s.charAt(beg) == '@')
@@ -485,8 +485,8 @@ public final class ReferenceFactory
throw e;
}
adapter = token.value;
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, adapter, routerInfo, locatorInfo,
- _instance.defaultsAndOverrides().defaultCollocationOptimization,
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, adapter,
+ routerInfo, locatorInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization,
_instance.defaultsAndOverrides().defaultLocatorCacheTimeout);
}
@@ -548,14 +548,14 @@ public final class ReferenceFactory
{
endpoints[i] = _instance.endpointFactoryManager().read(s);
}
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, endpoints, routerInfo,
- _instance.defaultsAndOverrides().defaultCollocationOptimization);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo, _instance.defaultsAndOverrides().defaultCollocationOptimization);
}
else
{
endpoints = new EndpointI[0];
adapterId = s.readString();
- return create(ident, _instance.getDefaultContext(), facet, mode, secure,
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure,
adapterId, routerInfo, locatorInfo,
_instance.defaultsAndOverrides().defaultCollocationOptimization,
_instance.defaultsAndOverrides().defaultLocatorCacheTimeout);
diff --git a/java/src/IceInternal/ServantManager.java b/java/src/IceInternal/ServantManager.java
index b0a34100a3d..1afedd6f538 100644
--- a/java/src/IceInternal/ServantManager.java
+++ b/java/src/IceInternal/ServantManager.java
@@ -222,7 +222,7 @@ public final class ServantManager
pw.flush();
String s = "exception during locator deactivation:\n" + "object adapter: `" + _adapterName + "'\n" +
"locator category: `" + e.getKey() + "'\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
}
diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java
index 79e00180c1a..608d18a14bf 100644
--- a/java/src/IceInternal/TcpAcceptor.java
+++ b/java/src/IceInternal/TcpAcceptor.java
@@ -107,7 +107,7 @@ class TcpAcceptor implements Acceptor
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_backlog = 0;
if(_backlog <= 0)
diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java
index 0303259fd88..9cca5bedaf6 100644
--- a/java/src/IceInternal/TcpConnector.java
+++ b/java/src/IceInternal/TcpConnector.java
@@ -46,7 +46,7 @@ final class TcpConnector implements Connector
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_addr = Network.getAddress(host, port);
}
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index 22be9b06336..8e29b45e841 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -342,8 +342,8 @@ final class TcpTransceiver implements Transceiver
{
_fd = fd;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
- _stats = instance.stats();
+ _logger = instance.initializationData().logger;
+ _stats = instance.initializationData().stats;
_desc = Network.fdToString(_fd);
}
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java
index 23fc8f7cdf0..e0fb807d01a 100644
--- a/java/src/IceInternal/ThreadPool.java
+++ b/java/src/IceInternal/ThreadPool.java
@@ -31,7 +31,7 @@ public final class ThreadPool
_inUse = 0;
_load = 1.0;
_promote = true;
- _warnUdp = _instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ _warnUdp = _instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
//
// If we are in thread per connection mode, no thread pool should
@@ -39,7 +39,7 @@ public final class ThreadPool
//
assert(!_instance.threadPerConnection());
- String programName = _instance.properties().getProperty("Ice.ProgramName");
+ String programName = _instance.initializationData().properties.getProperty("Ice.ProgramName");
if(programName.length() > 0)
{
_programNamePrefix = programName + "-";
@@ -77,19 +77,21 @@ public final class ThreadPool
// psossible setting, still allows one level of nesting, and
// doesn't require to make the servants thread safe.
//
- int size = _instance.properties().getPropertyAsIntWithDefault(_prefix + ".Size", 1);
+ int size = _instance.initializationData().properties.getPropertyAsIntWithDefault(_prefix + ".Size", 1);
if(size < 1)
{
size = 1;
}
- int sizeMax = _instance.properties().getPropertyAsIntWithDefault(_prefix + ".SizeMax", size);
+ int sizeMax =
+ _instance.initializationData().properties.getPropertyAsIntWithDefault(_prefix + ".SizeMax", size);
if(sizeMax < size)
{
sizeMax = size;
}
- int sizeWarn = _instance.properties().getPropertyAsIntWithDefault(_prefix + ".SizeWarn", sizeMax * 80 / 100);
+ int sizeWarn = _instance.initializationData().properties.getPropertyAsIntWithDefault(
+ _prefix + ".SizeWarn", sizeMax * 80 / 100);
_size = size;
_sizeMax = sizeMax;
@@ -114,7 +116,7 @@ public final class ThreadPool
ex.printStackTrace(pw);
pw.flush();
String s = "cannot create thread for `" + _prefix + "':\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
destroy();
joinWithAllThreads();
@@ -207,7 +209,7 @@ public final class ThreadPool
{
String s = "thread pool `" + _prefix + "' is running low on threads\n"
+ "Size=" + _size + ", " + "SizeMax=" + _sizeMax + ", " + "SizeWarn=" + _sizeWarn;
- _instance.logger().warning(s);
+ _instance.initializationData().logger.warning(s);
}
assert(_inUse <= _running);
@@ -228,7 +230,7 @@ public final class ThreadPool
ex.printStackTrace(pw);
pw.flush();
String s = "cannot create thread for `" + _prefix + "':\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
}
}
@@ -321,7 +323,7 @@ public final class ThreadPool
ex.printStackTrace(pw);
pw.flush();
String s = "exception in `" + _prefix + "' while calling close():\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
}
@@ -673,7 +675,7 @@ public final class ThreadPool
pw.flush();
String s = "exception in `" + _prefix + "' while calling finished():\n" +
sw.toString() + "\n" + handler.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
//
@@ -721,10 +723,11 @@ public final class ThreadPool
{
if(handler.datagram())
{
- if(_instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0)
+ if(_instance.initializationData().properties.getPropertyAsInt(
+ "Ice.Warn.Connections") > 0)
{
- _instance.logger().warning("datagram connection exception:\n" + ex + "\n" +
- handler.toString());
+ _instance.initializationData().logger.warning(
+ "datagram connection exception:\n" + ex + "\n" + handler.toString());
}
}
else
@@ -760,7 +763,7 @@ public final class ThreadPool
pw.flush();
String s = "exception in `" + _prefix + "' while calling message():\n" +
sw.toString() + "\n" + handler.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
//
@@ -968,8 +971,8 @@ public final class ThreadPool
{
if(_warnUdp)
{
- _instance.logger().warning("DatagramLimitException: maximum size of "
- + stream.pos() + " exceeded");
+ _instance.initializationData().logger.warning("DatagramLimitException: maximum size of "
+ + stream.pos() + " exceeded");
}
stream.pos(0);
stream.resize(0, true);
@@ -1042,7 +1045,7 @@ public final class ThreadPool
se.printStackTrace(pw);
pw.flush();
String s = "exception in `" + _prefix + "':\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
continue;
}
}
@@ -1097,7 +1100,7 @@ public final class ThreadPool
se.printStackTrace(pw);
pw.flush();
String s = "exception in `" + _prefix + "':\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
continue;
}
@@ -1206,7 +1209,7 @@ public final class ThreadPool
ex.printStackTrace(pw);
pw.flush();
String s = "exception in `" + _prefix + "' thread " + getName() + ":\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
promote = true;
}
catch(java.lang.Exception ex)
@@ -1216,7 +1219,7 @@ public final class ThreadPool
ex.printStackTrace(pw);
pw.flush();
String s = "unknown exception in `" + _prefix + "' thread " + getName() + ":\n" + sw.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
promote = true;
}
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 58a1f3fbdbe..9c324fc8c90 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -251,11 +251,11 @@ final class UdpTransceiver implements Transceiver
UdpTransceiver(Instance instance, String host, int port)
{
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
- _stats = instance.stats();
+ _logger = instance.initializationData().logger;
+ _stats = instance.initializationData().stats;
_incoming = false;
_connect = true;
- _warn = instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
try
{
@@ -288,11 +288,11 @@ final class UdpTransceiver implements Transceiver
UdpTransceiver(Instance instance, String host, int port, boolean connect)
{
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
- _stats = instance.stats();
+ _logger = instance.initializationData().logger;
+ _stats = instance.initializationData().stats;
_incoming = true;
_connect = connect;
- _warn = instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
try
{
@@ -351,7 +351,7 @@ final class UdpTransceiver implements Transceiver
//
// Get property for buffer size and check for sanity.
//
- int sizeRequested = instance.properties().getPropertyAsIntWithDefault(prop, dfltSize);
+ int sizeRequested = instance.initializationData().properties.getPropertyAsIntWithDefault(prop, dfltSize);
if(sizeRequested < _udpOverhead)
{
_logger.warning("Invalid " + prop + " value of " + sizeRequested + " adjusted to " + dfltSize);
diff --git a/java/test/Ice/exceptions/Server.java b/java/test/Ice/exceptions/Server.java
index bb087ef372f..19b8f86a150 100644
--- a/java/test/Ice/exceptions/Server.java
+++ b/java/test/Ice/exceptions/Server.java
@@ -12,12 +12,6 @@ public class Server
private static int
run(String[] args, Ice.Communicator communicator)
{
- //
- // For this test, we need a dummy logger, otherwise the
- // assertion test will print an error message.
- //
- communicator.setLogger(new DummyLogger());
-
Ice.Properties properties = communicator.getProperties();
// We don't need to disable warnings, because we have a dummy logger.
//properties.setProperty("Ice.Warn.Dispatch", "0");
@@ -38,7 +32,14 @@ public class Server
try
{
- communicator = Ice.Util.initialize(args);
+ //
+ // For this test, we need a dummy logger, otherwise the
+ // assertion test will print an error message.
+ //
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.logger = new DummyLogger();
+
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/java/test/Ice/exceptionsAMD/Server.java b/java/test/Ice/exceptionsAMD/Server.java
index bb087ef372f..be5e6b6f7df 100644
--- a/java/test/Ice/exceptionsAMD/Server.java
+++ b/java/test/Ice/exceptionsAMD/Server.java
@@ -12,12 +12,6 @@ public class Server
private static int
run(String[] args, Ice.Communicator communicator)
{
- //
- // For this test, we need a dummy logger, otherwise the
- // assertion test will print an error message.
- //
- communicator.setLogger(new DummyLogger());
-
Ice.Properties properties = communicator.getProperties();
// We don't need to disable warnings, because we have a dummy logger.
//properties.setProperty("Ice.Warn.Dispatch", "0");
@@ -38,7 +32,14 @@ public class Server
try
{
- communicator = Ice.Util.initialize(args);
+ //
+ // For this test, we need a dummy logger, otherwise the
+ // assertion test will print an error message.
+ //
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.logger = new DummyLogger();
+
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/java/test/Ice/location/Client.java b/java/test/Ice/location/Client.java
index d02746e7f7d..7a6967afc54 100644
--- a/java/test/Ice/location/Client.java
+++ b/java/test/Ice/location/Client.java
@@ -24,9 +24,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties(args);
- properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(args);
+ initData.properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch (Ice.LocalException ex)
diff --git a/java/test/Ice/operations/Collocated.java b/java/test/Ice/operations/Collocated.java
index 56ef358b7eb..c39aa334315 100644
--- a/java/test/Ice/operations/Collocated.java
+++ b/java/test/Ice/operations/Collocated.java
@@ -17,6 +17,7 @@ public class Collocated
Ice.Identity id = Ice.Util.stringToIdentity("test");
adapter.add(new MyDerivedClassI(adapter, id), id);
adapter.add(new TestCheckedCastI(), Ice.Util.stringToIdentity("context"));
+ adapter.activate();
AllTests.allTests(communicator, true);
diff --git a/java/test/Ice/operations/Twoways.java b/java/test/Ice/operations/Twoways.java
index f46aedab62e..b8e62ca877d 100644
--- a/java/test/Ice/operations/Twoways.java
+++ b/java/test/Ice/operations/Twoways.java
@@ -598,69 +598,56 @@ class Twoways
}
{
- java.util.HashMap ctx = new java.util.HashMap();
- ctx.put("one", "ONE");
- ctx.put("two", "TWO");
- ctx.put("three", "THREE");
{
- test(p.ice_getContext().isEmpty());
- java.util.Map r = p.opContext();
- test(!r.equals(ctx));
- }
- {
- java.util.Map r = p.opContext(ctx);
- test(p.ice_getContext().isEmpty());
- test(r.equals(ctx));
- }
- {
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
- test(p2.ice_getContext().equals(ctx));
- java.util.Map r = p2.opContext();
- test(r.equals(ctx));
- r = p2.opContext(ctx);
- test(r.equals(ctx));
+ java.util.HashMap ctx = new java.util.HashMap();
+ ctx.put("one", "ONE");
+ ctx.put("two", "TWO");
+ ctx.put("three", "THREE");
+ {
+ test(p.ice_getContext().isEmpty());
+ java.util.Map r = p.opContext();
+ test(!r.equals(ctx));
+ }
+ {
+ java.util.Map r = p.opContext(ctx);
+ test(p.ice_getContext().isEmpty());
+ test(r.equals(ctx));
+ }
+ {
+ Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
+ test(p2.ice_getContext().equals(ctx));
+ java.util.Map r = p2.opContext();
+ test(r.equals(ctx));
+ r = p2.opContext(ctx);
+ test(r.equals(ctx));
+ }
}
{
//
// Test that default context is obtained correctly from communicator.
//
- java.util.HashMap dflt = new java.util.HashMap();
- dflt.put("a", "b");
- communicator.setDefaultContext(dflt);
- test(!p.opContext().equals(dflt));
-
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_context(new java.util.HashMap()));
- test(p2.opContext().isEmpty());
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.defaultContext = new java.util.HashMap();
+ initData.defaultContext.put("a", "b");
+ Ice.Communicator communicator2 = Ice.Util.initialize(new String[0], initData);
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_defaultContext());
- test(p2.opContext().equals(dflt));
-
- communicator.setDefaultContext(new java.util.HashMap());
- test(!p2.opContext().isEmpty());
-
- communicator.setDefaultContext(dflt);
Test.MyClassPrx c = Test.MyClassPrxHelper.checkedCast(
- communicator.stringToProxy("test:default -p 12010 -t 10000"));
- test(c.opContext().equals(dflt));
+ communicator2.stringToProxy("test:default -p 12010 -t 10000"));
+ test(c.opContext().equals(initData.defaultContext));
- dflt.put("a", "c");
- Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(dflt));
+ java.util.Map ctx = new java.util.HashMap();
+ ctx.put("a", "c");
+ Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(ctx));
test(c2.opContext().get("a").equals("c"));
- dflt.clear();
- Test.MyClassPrx c3 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_context(dflt));
+ ctx.clear();
+ Test.MyClassPrx c3 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_context(ctx));
test(c3.opContext().get("a") == null);
Test.MyClassPrx c4 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_defaultContext());
test(c4.opContext().get("a").equals("b"));
- dflt.put("a", "d");
- communicator.setDefaultContext(dflt);
-
- Test.MyClassPrx c5 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_defaultContext());
- test(c5.opContext().get("a").equals("d"));
-
- communicator.setDefaultContext(new java.util.HashMap());
+ communicator2.destroy();
}
}
diff --git a/java/test/Ice/operations/TwowaysAMI.java b/java/test/Ice/operations/TwowaysAMI.java
index 71db5081182..746b9513bd0 100644
--- a/java/test/Ice/operations/TwowaysAMI.java
+++ b/java/test/Ice/operations/TwowaysAMI.java
@@ -1407,72 +1407,48 @@ class TwowaysAMI
}
{
- java.util.Map ctx = new java.util.HashMap();
- ctx.put("one", "ONE");
- ctx.put("two", "TWO");
- ctx.put("three", "THREE");
{
- test(p.ice_getContext().isEmpty());
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(ctx);
- p.opContext_async(cb);
- test(cb.check());
- }
- {
- test(p.ice_getContext().isEmpty());
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
- p.opContext_async(cb, ctx);
- test(cb.check());
- }
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
- test(p2.ice_getContext().equals(ctx));
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
- p2.opContext_async(cb);
- test(cb.check());
- }
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
- p2.opContext_async(cb, ctx);
- test(cb.check());
- }
-
- {
- //
- // Test that default context is obtained correctly from communicator.
- //
- java.util.HashMap dflt = new java.util.HashMap();
- dflt.put("a", "b");
- communicator.setDefaultContext(dflt);
- {
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(dflt);
+ java.util.Map ctx = new java.util.HashMap();
+ ctx.put("one", "ONE");
+ ctx.put("two", "TWO");
+ ctx.put("three", "THREE");
+ {
+ test(p.ice_getContext().isEmpty());
+ AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(ctx);
p.opContext_async(cb);
test(cb.check());
- }
-
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_context(new java.util.HashMap()));
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(new java.util.HashMap());
- p2.opContext_async(cb);
+ }
+ {
+ test(p.ice_getContext().isEmpty());
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
+ p.opContext_async(cb, ctx);
test(cb.check());
- }
-
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_defaultContext());
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(dflt);
+ }
+ Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
+ test(p2.ice_getContext().equals(ctx));
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
p2.opContext_async(cb);
test(cb.check());
- }
-
- communicator.setDefaultContext(new java.util.HashMap());
- {
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(new java.util.HashMap());
- p2.opContext_async(cb);
+ }
+ {
+ AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(ctx);
+ p2.opContext_async(cb, ctx);
test(cb.check());
- }
+ }
+ }
+
+ {
+ //
+ // Test that default context is obtained correctly from communicator.
+ //
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.defaultContext = new java.util.HashMap();
+ initData.defaultContext.put("a", "b");
+ Ice.Communicator communicator2 = Ice.Util.initialize(new String[0], initData);
- communicator.setDefaultContext(dflt);
Test.MyClassPrx c = Test.MyClassPrxHelper.checkedCast(
- communicator.stringToProxy("test:default -p 12010 -t 10000"));
+ communicator2.stringToProxy("test:default -p 12010 -t 10000"));
{
java.util.HashMap tmp = new java.util.HashMap();
tmp.put("a", "b");
@@ -1481,8 +1457,9 @@ class TwowaysAMI
test(cb.check());
}
- dflt.put("a", "c");
- Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(dflt));
+ java.util.HashMap ctx = new java.util.HashMap();
+ ctx.put("a", "c");
+ Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(ctx));
{
java.util.HashMap tmp = new java.util.HashMap();
tmp.put("a", "c");
@@ -1491,8 +1468,8 @@ class TwowaysAMI
test(cb.check());
}
- dflt.clear();
- Test.MyClassPrx c3 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_context(dflt));
+ ctx.clear();
+ Test.MyClassPrx c3 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_context(ctx));
{
java.util.HashMap tmp = new java.util.HashMap();
AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(tmp);
@@ -1509,19 +1486,7 @@ class TwowaysAMI
test(cb.check());
}
- dflt.put("a", "d");
- communicator.setDefaultContext(dflt);
-
- Test.MyClassPrx c5 = Test.MyClassPrxHelper.uncheckedCast(c.ice_defaultContext());
- {
- java.util.HashMap tmp = new java.util.HashMap();
- tmp.put("a", "d");
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(tmp);
- c5.opContext_async(cb);
- test(cb.check());
- }
-
- communicator.setDefaultContext(new java.util.HashMap());
+ communicator2.destroy();
}
}