diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-04-07 13:59:51 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-04-07 13:59:51 +0000 |
commit | 800586d551a7631b0b0caeef697935af5e8140eb (patch) | |
tree | dadf42ec253537203ccb1428ce1844f0dfc2f8db /java | |
parent | Bug 803 - changed communicator initialization. (diff) | |
download | ice-800586d551a7631b0b0caeef697935af5e8140eb.tar.bz2 ice-800586d551a7631b0b0caeef697935af5e8140eb.tar.xz ice-800586d551a7631b0b0caeef697935af5e8140eb.zip |
Bug 803 - Changed communicator initialzation
Diffstat (limited to 'java')
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(); } } |