summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-04-07 14:03:22 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-04-07 14:03:22 +0000
commitc95db5ffb0a898568066a79aaa15acbaee24ac3a (patch)
treeb57c3f89352234f57c5c95b930ed5e45fd019013
parentBug 803 - Changed communicator initialzation (diff)
downloadice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.tar.bz2
ice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.tar.xz
ice-c95db5ffb0a898568066a79aaa15acbaee24ac3a.zip
Bug 803 - changed communicator initialization
-rw-r--r--cpp/CHANGES8
-rw-r--r--cppe/CHANGES7
-rw-r--r--cppe/demo/IceE/MFC/client/HelloClient.cpp9
-rw-r--r--cppe/demo/IceE/MFC/server/HelloServer.cpp12
-rw-r--r--cppe/demo/IceE/bidir/Client.cpp7
-rw-r--r--cppe/demo/IceE/bidir/Server.cpp7
-rw-r--r--cppe/demo/IceE/callback/Client.cpp7
-rw-r--r--cppe/demo/IceE/callback/Server.cpp7
-rw-r--r--cppe/demo/IceE/chat/ChatClient.cpp8
-rwxr-xr-xcppe/demo/IceE/chat/Client.cpp7
-rw-r--r--cppe/demo/IceE/hello/Client.cpp7
-rw-r--r--cppe/demo/IceE/hello/Server.cpp9
-rw-r--r--cppe/demo/IceE/latency/Client.cpp7
-rw-r--r--cppe/demo/IceE/latency/Server.cpp7
-rwxr-xr-xcppe/demo/IceE/latency/WinCEClient.cpp11
-rwxr-xr-xcppe/demo/IceE/latency/WinCEServer.cpp9
-rw-r--r--cppe/demo/IceE/minimal/Client.cpp7
-rw-r--r--cppe/demo/IceE/minimal/Server.cpp7
-rw-r--r--cppe/demo/IceE/minimal/WinCEClient.cpp12
-rw-r--r--cppe/demo/IceE/minimal/WinCEServer.cpp9
-rw-r--r--cppe/demo/IceE/throughput/Client.cpp7
-rw-r--r--cppe/demo/IceE/throughput/Server.cpp9
-rwxr-xr-xcppe/demo/IceE/throughput/WinCEClient.cpp11
-rwxr-xr-xcppe/demo/IceE/throughput/WinCEServer.cpp9
-rwxr-xr-xcppe/include/IceE/Communicator.h141
-rw-r--r--cppe/include/IceE/Initialize.h12
-rwxr-xr-xcppe/src/IceE/Communicator.cpp24
-rwxr-xr-xcppe/src/IceE/Connection.cpp16
-rw-r--r--cppe/src/IceE/Incoming.cpp20
-rw-r--r--cppe/src/IceE/IncomingConnectionFactory.cpp12
-rw-r--r--cppe/src/IceE/Initialize.cpp26
-rw-r--r--cppe/src/IceE/Instance.cpp88
-rw-r--r--cppe/src/IceE/Instance.h13
-rw-r--r--cppe/src/IceE/LocatorInfo.cpp4
-rw-r--r--cppe/src/IceE/ObjectAdapter.cpp35
-rwxr-xr-xcppe/src/IceE/OutgoingConnectionFactory.cpp2
-rw-r--r--cppe/src/IceE/ProxyFactory.cpp4
-rw-r--r--cppe/src/IceE/Reference.cpp5
-rw-r--r--cppe/src/IceE/ReferenceFactory.cpp32
-rw-r--r--cppe/src/TcpTransport/Acceptor.cpp2
-rw-r--r--cppe/src/TcpTransport/Connector.cpp2
-rw-r--r--cppe/src/TcpTransport/Transceiver.cpp2
-rwxr-xr-xcppe/test/Common/TestCommon.cpp7
-rw-r--r--cppe/test/IceE/adapterDeactivation/Client.cpp8
-rw-r--r--cppe/test/IceE/adapterDeactivation/Collocated.cpp10
-rw-r--r--cppe/test/IceE/adapterDeactivation/Server.cpp10
-rw-r--r--cppe/test/IceE/custom/Client.cpp8
-rw-r--r--cppe/test/IceE/custom/Collocated.cpp14
-rw-r--r--cppe/test/IceE/custom/Server.cpp14
-rw-r--r--cppe/test/IceE/exceptions/Client.cpp8
-rw-r--r--cppe/test/IceE/exceptions/Collocated.cpp12
-rw-r--r--cppe/test/IceE/exceptions/Server.cpp12
-rw-r--r--cppe/test/IceE/facets/Client.cpp8
-rw-r--r--cppe/test/IceE/facets/Collocated.cpp10
-rw-r--r--cppe/test/IceE/facets/Server.cpp10
-rw-r--r--cppe/test/IceE/faultTolerance/Client.cpp9
-rw-r--r--cppe/test/IceE/faultTolerance/Server.cpp10
-rw-r--r--cppe/test/IceE/inheritance/Client.cpp8
-rw-r--r--cppe/test/IceE/inheritance/Collocated.cpp10
-rw-r--r--cppe/test/IceE/inheritance/Server.cpp10
-rw-r--r--cppe/test/IceE/location/Client.cpp18
-rw-r--r--cppe/test/IceE/location/Server.cpp28
-rw-r--r--cppe/test/IceE/location/TestI.cpp6
-rw-r--r--cppe/test/IceE/operations/Client.cpp16
-rw-r--r--cppe/test/IceE/operations/Collocated.cpp16
-rw-r--r--cppe/test/IceE/operations/Server.cpp14
-rw-r--r--cppe/test/IceE/operations/Twoways.cpp38
-rw-r--r--cppe/test/IceE/retry/Client.cpp16
-rw-r--r--cppe/test/IceE/retry/Server.cpp14
-rw-r--r--cppe/test/IceE/slicing/Client.cpp8
-rw-r--r--cppe/test/IceE/slicing/Server.cpp12
-rw-r--r--cppe/test/include/TestApplication.h2
-rw-r--r--cs/CHANGES8
-rwxr-xr-xcs/src/Ice/Application.cs12
-rwxr-xr-xcs/src/Ice/BasicStream.cs8
-rwxr-xr-xcs/src/Ice/CommunicatorI.cs30
-rw-r--r--cs/src/Ice/ConnectionFactory.cs17
-rwxr-xr-xcs/src/Ice/ConnectionI.cs20
-rwxr-xr-xcs/src/Ice/ConnectionMonitor.cs6
-rwxr-xr-xcs/src/Ice/Incoming.cs23
-rwxr-xr-xcs/src/Ice/IncomingAsync.cs21
-rwxr-xr-xcs/src/Ice/Instance.cs140
-rwxr-xr-xcs/src/Ice/LocatorInfo.cs5
-rwxr-xr-xcs/src/Ice/ObjectAdapterI.cs35
-rwxr-xr-xcs/src/Ice/OutgoingAsync.cs5
-rwxr-xr-xcs/src/Ice/ProxyFactory.cs4
-rwxr-xr-xcs/src/Ice/Reference.cs5
-rwxr-xr-xcs/src/Ice/ReferenceFactory.cs24
-rwxr-xr-xcs/src/Ice/ServantManager.cs2
-rwxr-xr-xcs/src/Ice/TcpAcceptor.cs2
-rwxr-xr-xcs/src/Ice/TcpConnector.cs2
-rwxr-xr-xcs/src/Ice/TcpTransceiver.cs4
-rwxr-xr-xcs/src/Ice/ThreadPool.cs35
-rwxr-xr-xcs/src/Ice/UdpTransceiver.cs15
-rwxr-xr-xcs/src/Ice/Util.cs48
-rw-r--r--cs/src/IceBox/ServiceManagerI.cs4
-rwxr-xr-xcs/test/Ice/binding/Server.cs7
-rwxr-xr-xcs/test/Ice/exceptions/Server.cs14
-rwxr-xr-xcs/test/Ice/location/Client.cs7
-rwxr-xr-xcs/test/Ice/operations/Collocated.cs2
-rwxr-xr-xcs/test/Ice/operations/Twoways.cs84
-rwxr-xr-xcs/test/Ice/operations/TwowaysAMI.cs119
-rw-r--r--cs/test/Ice/timeout/AllTests.cs14
-rwxr-xr-xjavae/CHANGES7
-rwxr-xr-xjavae/demo/IceE/jdk/bidir/Client.java7
-rwxr-xr-xjavae/demo/IceE/jdk/bidir/Server.java7
-rw-r--r--javae/demo/IceE/jdk/callback/Client.java7
-rw-r--r--javae/demo/IceE/jdk/callback/Server.java7
-rw-r--r--javae/demo/IceE/jdk/chat/Client.java7
-rw-r--r--javae/demo/IceE/jdk/hello/Client.java7
-rw-r--r--javae/demo/IceE/jdk/hello/Server.java7
-rw-r--r--javae/demo/IceE/jdk/latency/Client.java7
-rw-r--r--javae/demo/IceE/jdk/latency/Server.java7
-rw-r--r--javae/demo/IceE/jdk/throughput/Client.java7
-rw-r--r--javae/demo/IceE/jdk/throughput/Server.java7
-rw-r--r--javae/demo/IceE/midp/hello/ClientMIDlet.java7
-rw-r--r--javae/demo/IceE/midp/hello/ServerMIDlet.java7
-rw-r--r--javae/jdk/IceInternal/Acceptor.java2
-rw-r--r--javae/jdk/IceInternal/Connector.java2
-rw-r--r--javae/jdk/IceInternal/Transceiver.java2
-rwxr-xr-xjavae/midp/IceInternal/Acceptor.java2
-rwxr-xr-xjavae/midp/IceInternal/Connector.java2
-rwxr-xr-xjavae/midp/IceInternal/Transceiver.java2
-rw-r--r--javae/src/Ice/Communicator.java22
-rw-r--r--javae/src/Ice/Connection.java8
-rw-r--r--javae/src/Ice/InitializationData.java22
-rw-r--r--javae/src/Ice/ObjectAdapter.java18
-rw-r--r--javae/src/Ice/Util.java40
-rw-r--r--javae/src/IceInternal/BasicStream.java4
-rw-r--r--javae/src/IceInternal/Incoming.java14
-rw-r--r--javae/src/IceInternal/IncomingConnectionFactory.java6
-rw-r--r--javae/src/IceInternal/IndirectReference.java4
-rw-r--r--javae/src/IceInternal/Instance.java106
-rw-r--r--javae/src/IceInternal/LocatorInfo.java5
-rw-r--r--javae/src/IceInternal/OutgoingConnectionFactory.java2
-rw-r--r--javae/src/IceInternal/ProxyFactory.java4
-rw-r--r--javae/src/IceInternal/Reference.java2
-rw-r--r--javae/src/IceInternal/ReferenceFactory.java18
-rw-r--r--javae/test/IceE/exceptions/Collocated.java14
-rw-r--r--javae/test/IceE/exceptions/Server.java14
-rw-r--r--javae/test/IceE/location/Client.java13
-rw-r--r--javae/test/IceE/operations/Twoways.java83
-rw-r--r--php/src/ice/communicator.cpp4
-rw-r--r--php/test/Ice/operations/Client.php2
-rw-r--r--py/CHANGES8
-rw-r--r--py/modules/IcePy/Communicator.cpp72
-rw-r--r--py/test/Ice/operations/Twoways.py52
-rw-r--r--py/test/Ice/operations/TwowaysAMI.py106
148 files changed, 1187 insertions, 1294 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index 79adbc11456..be44fef9fe0 100644
--- a/cpp/CHANGES
+++ b/cpp/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
+ setLogge()r, setStats() and setDefaultContext() methods have been
+ removed.
+
- Added the new slice metadata, "deprecate" which can be used to
qualify operations. On most platforms this will cause a compiler
warning to be issued if user code uses the deprecated operation.
diff --git a/cppe/CHANGES b/cppe/CHANGES
index 87e802c2b65..5efd34fea52 100644
--- a/cppe/CHANGES
+++ b/cppe/CHANGES
@@ -1,6 +1,13 @@
Changes since version 1.1.0
---------------------------
+- 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, and default context. The initializeWith
+ communicator initialization functions have been deprecated and the
+ setLogger() and setDefaultContext() methods have been removed.
+
- Added support for the "cpp:type:wstring" slice metadata. When used
generated code will use std::wstring instead of std::string. See
manual for more details.
diff --git a/cppe/demo/IceE/MFC/client/HelloClient.cpp b/cppe/demo/IceE/MFC/client/HelloClient.cpp
index 00c19bf82dd..fbb5246fe0a 100644
--- a/cppe/demo/IceE/MFC/client/HelloClient.cpp
+++ b/cppe/demo/IceE/MFC/client/HelloClient.cpp
@@ -47,12 +47,13 @@ CHelloClientApp::InitInstance()
try
{
int argc = 0;
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Hello.Proxy so that the demo will
// run without a configuration file.
//
- properties->setProperty("Hello.Proxy", "hello:tcp -p 10000");
+ initData.properties->setProperty("Hello.Proxy", "hello:tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -65,13 +66,13 @@ CHelloClientApp::InitInstance()
#endif
try
{
- properties->load(config);
+ initData.properties->load(config);
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(argc, 0, properties);
+ communicator = Ice::initialize(argc, 0, initData);
}
catch(const Ice::Exception& ex)
{
diff --git a/cppe/demo/IceE/MFC/server/HelloServer.cpp b/cppe/demo/IceE/MFC/server/HelloServer.cpp
index b4ff8999560..4fdd5fbb5db 100644
--- a/cppe/demo/IceE/MFC/server/HelloServer.cpp
+++ b/cppe/demo/IceE/MFC/server/HelloServer.cpp
@@ -51,13 +51,14 @@ BOOL CHelloServerApp::InitInstance()
try
{
int argc = 0;
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Hello.Endpoints so that the demo
// will run without a configuration file.
//
- properties->setProperty("Hello.Endpoints", "tcp -p 10000");
+ initData.properties->setProperty("Hello.Endpoints", "tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -70,15 +71,16 @@ BOOL CHelloServerApp::InitInstance()
#endif
try
{
- properties->load(config);
+ initData.properties->load(config);
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(argc, 0, properties);
log = new LogI;
- communicator->setLogger(log);
+ initData.logger = log;
+
+ communicator = Ice::initializeWithProperties(argc, 0, initData);
adapter = communicator->createObjectAdapter("Hello");
}
catch(const IceUtil::Exception& ex)
diff --git a/cppe/demo/IceE/bidir/Client.cpp b/cppe/demo/IceE/bidir/Client.cpp
index 63b82151152..8a1b16f3875 100644
--- a/cppe/demo/IceE/bidir/Client.cpp
+++ b/cppe/demo/IceE/bidir/Client.cpp
@@ -65,9 +65,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/bidir/Server.cpp b/cppe/demo/IceE/bidir/Server.cpp
index 49a7a737b19..5ae67a7765d 100644
--- a/cppe/demo/IceE/bidir/Server.cpp
+++ b/cppe/demo/IceE/bidir/Server.cpp
@@ -44,9 +44,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/callback/Client.cpp b/cppe/demo/IceE/callback/Client.cpp
index 70d71608ca4..39ab222f55d 100644
--- a/cppe/demo/IceE/callback/Client.cpp
+++ b/cppe/demo/IceE/callback/Client.cpp
@@ -132,9 +132,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/callback/Server.cpp b/cppe/demo/IceE/callback/Server.cpp
index 8e74e9c0757..92a4ff9e786 100644
--- a/cppe/demo/IceE/callback/Server.cpp
+++ b/cppe/demo/IceE/callback/Server.cpp
@@ -31,9 +31,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/chat/ChatClient.cpp b/cppe/demo/IceE/chat/ChatClient.cpp
index 87a05b93480..2cb282b8fb8 100644
--- a/cppe/demo/IceE/chat/ChatClient.cpp
+++ b/cppe/demo/IceE/chat/ChatClient.cpp
@@ -52,10 +52,12 @@ BOOL CChatClientApp::InitInstance()
LogIPtr log;
try
{
- int argc = 0;
- communicator = Ice::initialize(argc, 0);
+ Ice::InitializationData initData;
log = new LogI;
- communicator->setLogger(log);
+ initData.logger = log;
+
+ int argc = 0;
+ communicator = Ice::initialize(argc, 0, initData);
}
catch(const Ice::Exception& ex)
{
diff --git a/cppe/demo/IceE/chat/Client.cpp b/cppe/demo/IceE/chat/Client.cpp
index 4e8d68de504..da7c38f1d7f 100755
--- a/cppe/demo/IceE/chat/Client.cpp
+++ b/cppe/demo/IceE/chat/Client.cpp
@@ -173,9 +173,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/hello/Client.cpp b/cppe/demo/IceE/hello/Client.cpp
index 82b0b336360..ff5f5a44896 100644
--- a/cppe/demo/IceE/hello/Client.cpp
+++ b/cppe/demo/IceE/hello/Client.cpp
@@ -147,9 +147,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/hello/Server.cpp b/cppe/demo/IceE/hello/Server.cpp
index 237855a6c85..924ba67ddd2 100644
--- a/cppe/demo/IceE/hello/Server.cpp
+++ b/cppe/demo/IceE/hello/Server.cpp
@@ -31,10 +31,11 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- properties->setProperty("Ice.Override.Timeout", "100");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ initData.properties->setProperty("Ice.Override.Timeout", "100");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/latency/Client.cpp b/cppe/demo/IceE/latency/Client.cpp
index 5ef9881f3a6..674c4b4c834 100644
--- a/cppe/demo/IceE/latency/Client.cpp
+++ b/cppe/demo/IceE/latency/Client.cpp
@@ -61,9 +61,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/latency/Server.cpp b/cppe/demo/IceE/latency/Server.cpp
index 36e63112e82..929359f5e09 100644
--- a/cppe/demo/IceE/latency/Server.cpp
+++ b/cppe/demo/IceE/latency/Server.cpp
@@ -37,9 +37,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/latency/WinCEClient.cpp b/cppe/demo/IceE/latency/WinCEClient.cpp
index 4475acba3d1..ab3fd070251 100755
--- a/cppe/demo/IceE/latency/WinCEClient.cpp
+++ b/cppe/demo/IceE/latency/WinCEClient.cpp
@@ -108,13 +108,14 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Latency.Proxy so that the demo will
// run without a configuration file.
//
- properties->setProperty("Latency.Proxy", "ping:tcp -p 10000");
+ initData.properties->setProperty("Latency.Proxy", "ping:tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -122,16 +123,16 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
const char* proxyProperty = "Latency.Proxy";
- string proxy = properties->getProperty(proxyProperty);
+ string proxy = initData.properties->getProperty(proxyProperty);
PingPrx ping = PingPrx::checkedCast(communicator->stringToProxy(proxy));
if(!ping)
diff --git a/cppe/demo/IceE/latency/WinCEServer.cpp b/cppe/demo/IceE/latency/WinCEServer.cpp
index 85cbf568752..61a42284e16 100755
--- a/cppe/demo/IceE/latency/WinCEServer.cpp
+++ b/cppe/demo/IceE/latency/WinCEServer.cpp
@@ -117,12 +117,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Latency.Endpoints so that the demo
// will run without a configuration file.
//
- properties->setProperty("Latency.Endpoints","tcp -p 10000");
+ initData.properties->setProperty("Latency.Endpoints","tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -130,13 +131,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Latency");
adapter->add(new PingI, Ice::stringToIdentity("ping"));
diff --git a/cppe/demo/IceE/minimal/Client.cpp b/cppe/demo/IceE/minimal/Client.cpp
index 2082888bdae..9934a1cea59 100644
--- a/cppe/demo/IceE/minimal/Client.cpp
+++ b/cppe/demo/IceE/minimal/Client.cpp
@@ -89,9 +89,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/minimal/Server.cpp b/cppe/demo/IceE/minimal/Server.cpp
index a02cfd22eab..feb0cc1d6a3 100644
--- a/cppe/demo/IceE/minimal/Server.cpp
+++ b/cppe/demo/IceE/minimal/Server.cpp
@@ -44,9 +44,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/minimal/WinCEClient.cpp b/cppe/demo/IceE/minimal/WinCEClient.cpp
index f4ebc3711f9..ba12b687f79 100644
--- a/cppe/demo/IceE/minimal/WinCEClient.cpp
+++ b/cppe/demo/IceE/minimal/WinCEClient.cpp
@@ -24,13 +24,14 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for "Hello.Proxy" so that the demo will
// run without a configuration file.
//
- properties->setProperty("Hello.Proxy", "hello:tcp -p 10000");
+ initData.properties->setProperty("Hello.Proxy", "hello:tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -38,15 +39,16 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
- HelloPrx hello = HelloPrx::checkedCast(communicator->stringToProxy(properties->getProperty("Hello.Proxy")));
+ HelloPrx hello =
+ HelloPrx::checkedCast(communicator->stringToProxy(initData.properties->getProperty("Hello.Proxy")));
if(!hello)
{
MessageBox(NULL, L"invalid proxy", L"Minimal Client", MB_ICONEXCLAMATION | MB_OK);
diff --git a/cppe/demo/IceE/minimal/WinCEServer.cpp b/cppe/demo/IceE/minimal/WinCEServer.cpp
index f316d33a95b..12b2109245e 100644
--- a/cppe/demo/IceE/minimal/WinCEServer.cpp
+++ b/cppe/demo/IceE/minimal/WinCEServer.cpp
@@ -146,12 +146,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Hello.Endpoints so that the demo
// will run without a configuration file.
//
- properties->setProperty("Hello.Endpoints","tcp -p 10000");
+ initData.properties->setProperty("Hello.Endpoints","tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -159,13 +160,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Hello");
adapter->add(new HelloI(mainWnd), Ice::stringToIdentity("hello"));
diff --git a/cppe/demo/IceE/throughput/Client.cpp b/cppe/demo/IceE/throughput/Client.cpp
index 87e85df9226..4fcd3be1a76 100644
--- a/cppe/demo/IceE/throughput/Client.cpp
+++ b/cppe/demo/IceE/throughput/Client.cpp
@@ -413,9 +413,10 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/throughput/Server.cpp b/cppe/demo/IceE/throughput/Server.cpp
index c1445ab6d53..1604cb2c27e 100644
--- a/cppe/demo/IceE/throughput/Server.cpp
+++ b/cppe/demo/IceE/throughput/Server.cpp
@@ -42,10 +42,11 @@ main(int argc, char* argv[])
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- properties->setProperty("Ice.Override.Timeout", "100");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->load("config");
+ initData.properties->setProperty("Ice.Override.Timeout", "100");
+ communicator = Ice::initialize(argc, argv, initData);
status = run(argc, argv, communicator);
}
catch(const Ice::Exception& ex)
diff --git a/cppe/demo/IceE/throughput/WinCEClient.cpp b/cppe/demo/IceE/throughput/WinCEClient.cpp
index 62beedbfe44..c0362300956 100755
--- a/cppe/demo/IceE/throughput/WinCEClient.cpp
+++ b/cppe/demo/IceE/throughput/WinCEClient.cpp
@@ -108,13 +108,14 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Throughput.Proxy so that the demo will
// run without a configuration file.
//
- properties->setProperty("Throughput.Proxy", "throughput:tcp -p 10000");
+ initData.properties->setProperty("Throughput.Proxy", "throughput:tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -122,16 +123,16 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
const char* proxyProperty = "Throughput.Proxy";
- string proxy = properties->getProperty(proxyProperty);
+ string proxy = initData.properties->getProperty(proxyProperty);
ThroughputPrx throughput = ThroughputPrx::checkedCast(communicator->stringToProxy(proxy));
if(!throughput)
diff --git a/cppe/demo/IceE/throughput/WinCEServer.cpp b/cppe/demo/IceE/throughput/WinCEServer.cpp
index 1a1462c95cf..d45b4c834da 100755
--- a/cppe/demo/IceE/throughput/WinCEServer.cpp
+++ b/cppe/demo/IceE/throughput/WinCEServer.cpp
@@ -111,13 +111,14 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
try
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// Set a default value for Latency.Endpoints so that the demo
// will run without a configuration file.
//
- properties->setProperty("Throughput.Endpoints","tcp -p 10000");
+ initData.properties->setProperty("Throughput.Endpoints","tcp -p 10000");
//
// Now, load the configuration file if present. Under WinCE we
@@ -125,13 +126,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmd
//
try
{
- properties->load("config.txt");
+ initData.properties->load("config.txt");
}
catch(const Ice::FileException&)
{
}
- communicator = Ice::initializeWithProperties(__argc, __argv, properties);
+ communicator = Ice::initialize(__argc, __argv, initData);
Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Throughput");
Ice::ObjectPtr object = new ThroughputI(100);
diff --git a/cppe/include/IceE/Communicator.h b/cppe/include/IceE/Communicator.h
index 39c30d4832e..d7c97a6e9fd 100755
--- a/cppe/include/IceE/Communicator.h
+++ b/cppe/include/IceE/Communicator.h
@@ -6,76 +6,71 @@
// ICEE_LICENSE file included in this distribution.
//
// **********************************************************************
-
-#ifndef ICEE_COMMUNICATOR_H
-#define ICEE_COMMUNICATOR_H
-
-#include <IceE/CommunicatorF.h>
-#include <IceE/LoggerF.h>
-#include <IceE/PropertiesF.h>
-#include <IceE/InstanceF.h>
-
-#include <IceE/RecMutex.h>
-#include <IceE/Initialize.h> // For the friend declarations.
-
-namespace Ice
-{
-
-class ICE_API Communicator : public ::IceUtil::Shared
-{
-public:
-
- void destroy();
- void shutdown();
- void waitForShutdown();
-
- ObjectPrx stringToProxy(const std::string&) const;
- std::string proxyToString(const ObjectPrx&) const;
-
- ObjectAdapterPtr createObjectAdapter(const std::string&);
- ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&);
-
- void setDefaultContext(const Context&);
- Context getDefaultContext() const;
-
- PropertiesPtr getProperties() const;
-
- LoggerPtr getLogger() const;
- void setLogger(const LoggerPtr&);
-
-#ifdef ICEE_HAS_ROUTER
- RouterPrx getDefaultRouter() const;
- void setDefaultRouter(const RouterPrx&);
-#endif
-
-#ifdef ICEE_HAS_LOCATOR
- LocatorPrx getDefaultLocator() const;
- void setDefaultLocator(const LocatorPrx&);
-#endif
-
-#ifdef ICEE_HAS_BATCH
- void flushBatchRequests();
-#endif
-
-private:
-
- Communicator(const PropertiesPtr&);
- ~Communicator();
-
- //
- // Certain initialization tasks need to be completed after the
- // constructor.
- //
- void finishSetup(int&, char*[]);
-
- friend ICE_API CommunicatorPtr initialize(int&, char*[], Int);
- friend ICE_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int);
- friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&);
-
- const ::IceInternal::InstancePtr _instance;
- const ::Ice::Context _dfltContext;
-};
-
-}
-
-#endif
+
+#ifndef ICEE_COMMUNICATOR_H
+#define ICEE_COMMUNICATOR_H
+
+#include <IceE/CommunicatorF.h>
+#include <IceE/LoggerF.h>
+#include <IceE/PropertiesF.h>
+#include <IceE/InstanceF.h>
+
+#include <IceE/RecMutex.h>
+#include <IceE/Initialize.h> // For the friend declarations.
+
+namespace Ice
+{
+
+class ICE_API Communicator : public ::IceUtil::Shared
+{
+public:
+
+ void destroy();
+ void shutdown();
+ void waitForShutdown();
+
+ ObjectPrx stringToProxy(const std::string&) const;
+ std::string proxyToString(const ObjectPrx&) const;
+
+ ObjectAdapterPtr createObjectAdapter(const std::string&);
+ ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&);
+
+ Context getDefaultContext() const;
+ PropertiesPtr getProperties() const;
+ LoggerPtr getLogger() const;
+
+#ifdef ICEE_HAS_ROUTER
+ RouterPrx getDefaultRouter() const;
+ void setDefaultRouter(const RouterPrx&);
+#endif
+
+#ifdef ICEE_HAS_LOCATOR
+ LocatorPrx getDefaultLocator() const;
+ void setDefaultLocator(const LocatorPrx&);
+#endif
+
+#ifdef ICEE_HAS_BATCH
+ void flushBatchRequests();
+#endif
+
+private:
+
+ Communicator(const InitializationData&);
+ ~Communicator();
+
+ //
+ // Certain initialization tasks need to be completed after the
+ // constructor.
+ //
+ void finishSetup(int&, char*[]);
+
+ friend ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData, Int);
+ friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&);
+
+ const ::IceInternal::InstancePtr _instance;
+ const ::Ice::Context _dfltContext;
+};
+
+}
+
+#endif
diff --git a/cppe/include/IceE/Initialize.h b/cppe/include/IceE/Initialize.h
index 90f168d76f9..3b25713c0c9 100644
--- a/cppe/include/IceE/Initialize.h
+++ b/cppe/include/IceE/Initialize.h
@@ -12,6 +12,7 @@
#include <IceE/CommunicatorF.h>
#include <IceE/PropertiesF.h>
+#include <IceE/LoggerF.h>
#include <IceE/InstanceF.h>
#include <IceE/BuiltinSequences.h>
@@ -31,8 +32,15 @@ ICE_API PropertiesPtr createProperties();
ICE_API PropertiesPtr createProperties(StringSeq&);
ICE_API PropertiesPtr createProperties(int&, char*[]);
-ICE_API CommunicatorPtr initialize(int&, char*[], Int = ICEE_INT_VERSION);
-ICE_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int = ICEE_INT_VERSION);
+struct InitializationData
+{
+ PropertiesPtr properties;
+ LoggerPtr logger;
+ Context defaultContext;
+};
+
+ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData = InitializationData(), Int = ICEE_INT_VERSION);
+ICE_API ICE_DEPRECATED_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int = ICEE_INT_VERSION);
ICE_API PropertiesPtr getDefaultProperties();
ICE_API PropertiesPtr getDefaultProperties(StringSeq&);
diff --git a/cppe/src/IceE/Communicator.cpp b/cppe/src/IceE/Communicator.cpp
index 5a81bbd35cf..bdb1a047fc0 100755
--- a/cppe/src/IceE/Communicator.cpp
+++ b/cppe/src/IceE/Communicator.cpp
@@ -84,34 +84,22 @@ Ice::Communicator::createObjectAdapterWithEndpoints(const string& name, const st
#endif
-void
-Ice::Communicator::setDefaultContext(const Context& ctx)
-{
- _instance->setDefaultContext(ctx);
-}
-
Ice::Context
Ice::Communicator::getDefaultContext() const
{
- return _instance->getDefaultContext();
+ return _instance->initializationData().defaultContext;
}
PropertiesPtr
Ice::Communicator::getProperties() const
{
- return _instance->properties();
+ return _instance->initializationData().properties;
}
LoggerPtr
Ice::Communicator::getLogger() const
{
- return _instance->logger();
-}
-
-void
-Ice::Communicator::setLogger(const LoggerPtr& logger)
-{
- _instance->logger(logger);
+ return _instance->initializationData().logger;
}
#ifdef ICEE_HAS_ROUTER
@@ -156,12 +144,12 @@ Ice::Communicator::flushBatchRequests()
#endif
-Ice::Communicator::Communicator(const PropertiesPtr& properties)
+Ice::Communicator::Communicator(const InitializationData& initData)
{
__setNoDelete(true);
try
{
- const_cast<InstancePtr&>(_instance) = new Instance(this, properties);
+ const_cast<InstancePtr&>(_instance) = new Instance(this, initData);
}
catch(...)
{
@@ -175,7 +163,7 @@ Ice::Communicator::~Communicator()
{
if(!_instance->destroyed())
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "Ice::Communicator::destroy() has not been called";
}
}
diff --git a/cppe/src/IceE/Connection.cpp b/cppe/src/IceE/Connection.cpp
index 6e15315278b..9b76b84b31a 100755
--- a/cppe/src/IceE/Connection.cpp
+++ b/cppe/src/IceE/Connection.cpp
@@ -864,7 +864,7 @@ Ice::Connection::createProxy(const Identity& ident) const
//
vector<ConnectionPtr> connections;
connections.push_back(const_cast<Connection*>(this));
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), "",
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext, "",
Reference::ModeTwoway, connections);
return _instance->proxyFactory()->referenceToProxy(ref);
}
@@ -905,9 +905,9 @@ Ice::Connection::Connection(const InstancePtr& instance,
_desc(transceiver->toString()),
_type(transceiver->type()),
_endpoint(endpoint),
- _logger(_instance->logger()), // Cached for better performance.
+ _logger(_instance->initializationData().logger), // Cached for better performance.
_traceLevels(_instance->traceLevels()), // Cached for better performance.
- _warn(_instance->properties()->getPropertyAsInt("Ice.Warn.Connections") > 0),
+ _warn(_instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Connections") > 0),
#ifndef ICEE_PURE_CLIENT
_in(_instance.get(), this, _stream, adapter),
#endif
@@ -929,9 +929,9 @@ Ice::Connection::Connection(const InstancePtr& instance,
{
#ifndef ICEE_PURE_BLOCKING_CLIENT
# ifdef ICEE_PURE_CLIENT
- _blocking = _instance->properties()->getPropertyAsInt("Ice.Blocking") > 0;
+ _blocking = _instance->initializationData().properties->getPropertyAsInt("Ice.Blocking") > 0;
# else
- _blocking = _instance->properties()->getPropertyAsInt("Ice.Blocking") > 0 && !adapter;
+ _blocking = _instance->initializationData().properties->getPropertyAsInt("Ice.Blocking") > 0 && !adapter;
# endif
if(_blocking)
{
@@ -1815,17 +1815,17 @@ Ice::Connection::ThreadPerConnection::run()
}
catch(const Exception& ex)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "exception in thread per connection:\n" << _connection->toString() << ex.toString();
}
catch(const std::exception& ex)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "std::exception in thread per connection:\n" << _connection->toString() << ex.what();
}
catch(...)
{
- Error out(_connection->_instance->logger());
+ Error out(_connection->_logger);
out << "unknown exception in thread per connection:\n" << _connection->toString();
}
diff --git a/cppe/src/IceE/Incoming.cpp b/cppe/src/IceE/Incoming.cpp
index ea4839bd101..fd110d6f71c 100644
--- a/cppe/src/IceE/Incoming.cpp
+++ b/cppe/src/IceE/Incoming.cpp
@@ -175,7 +175,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
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);
}
@@ -230,7 +230,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -254,7 +254,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -278,7 +278,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -302,7 +302,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -326,7 +326,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -350,7 +350,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_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);
}
@@ -374,7 +374,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning(string("std::exception: ") + ex.what());
}
@@ -399,7 +399,7 @@ IceInternal::Incoming::invoke(bool response, Int requestId)
{
_is.endReadEncaps();
- if(_os.instance()->properties()->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
+ if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
{
__warning("unknown c++ exception");
}
@@ -479,7 +479,7 @@ IceInternal::Incoming::__warning(const Exception& ex) const
void
IceInternal::Incoming::__warning(const string& msg) const
{
- Warning out(_os.instance()->logger());
+ Warning out(_os.instance()->initializationData().logger);
out << "dispatch exception: " << msg;
out << "\nidentity: " << identityToString(_current.id);
out << "\nfacet: " << IceUtil::escapeString(_current.facet, "");
diff --git a/cppe/src/IceE/IncomingConnectionFactory.cpp b/cppe/src/IceE/IncomingConnectionFactory.cpp
index 28ec47c0a8c..50643c0cc22 100644
--- a/cppe/src/IceE/IncomingConnectionFactory.cpp
+++ b/cppe/src/IceE/IncomingConnectionFactory.cpp
@@ -175,7 +175,7 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
_instance(instance),
_endpoint(endpoint),
_adapter(adapter),
- _warn(_instance->properties()->getPropertyAsInt("Ice.Warn.Connections") > 0),
+ _warn(_instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Connections") > 0),
_state(StateHolding)
{
if(_instance->defaultsAndOverrides()->overrideTimeout)
@@ -202,7 +202,7 @@ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const Instance
catch(const Ice::Exception& ex)
{
{
- Error out(_instance->logger());
+ Error out(_instance->initializationData().logger);
out << "cannot create thread for incoming connection factory:\n" << ex.toString();
}
@@ -321,7 +321,7 @@ IceInternal::IncomingConnectionFactory::run()
// Warn about other Ice local exceptions.
if(_warn)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "connection exception:\n" << ex.toString() << "\n" << _acceptor->toString();
}
}
@@ -420,17 +420,17 @@ IceInternal::IncomingConnectionFactory::ThreadPerIncomingConnectionFactory::run(
}
catch(const Exception& ex)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "exception in thread per incoming connection factory:\n" << _factory->toString() << ex.toString();
}
catch(const std::exception& ex)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "std::exception in thread per incoming connection factory:\n" << _factory->toString() << ex.what();
}
catch(...)
{
- Error out(_factory->_instance->logger());
+ Error out(_factory->_instance->initializationData().logger);
out << "unknown exception in thread per incoming connection factory:\n" << _factory->toString();
}
diff --git a/cppe/src/IceE/Initialize.cpp b/cppe/src/IceE/Initialize.cpp
index 1cf8d21602a..dd2536e93d3 100644
--- a/cppe/src/IceE/Initialize.cpp
+++ b/cppe/src/IceE/Initialize.cpp
@@ -123,14 +123,7 @@ Ice::getDefaultProperties(int& argc, char* argv[])
}
CommunicatorPtr
-Ice::initialize(int& argc, char* argv[], Int version)
-{
- PropertiesPtr properties = getDefaultProperties(argc, argv);
- return initializeWithProperties(argc, argv, properties, version);
-}
-
-CommunicatorPtr
-Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& properties, Int version)
+Ice::initialize(int& argc, char* argv[], InitializationData initData, Int version)
{
#ifndef ICE_IGNORE_VERSION
//
@@ -150,15 +143,28 @@ Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& prop
}
#endif
+ if(!initData.properties)
+ {
+ initData.properties = getDefaultProperties(argc, argv);
+ }
+
StringSeq args = argsToStringSeq(argc, argv);
- args = properties->parseIceCommandLineOptions(args);
+ args = initData.properties->parseIceCommandLineOptions(args);
stringSeqToArgs(args, argc, argv);
- CommunicatorPtr communicator = new Communicator(properties);
+ CommunicatorPtr communicator = new Communicator(initData);
communicator->finishSetup(argc, argv);
return communicator;
}
+CommunicatorPtr
+Ice::initializeWithProperties(int& argc, char* argv[], const PropertiesPtr& properties, Int version)
+{
+ InitializationData initData;
+ initData.properties = properties;
+ return initialize(argc, argv, initData, version);
+}
+
InstancePtr
IceInternal::getInstance(const CommunicatorPtr& communicator)
{
diff --git a/cppe/src/IceE/Instance.cpp b/cppe/src/IceE/Instance.cpp
index a62fa3ef374..1aa787dd08d 100644
--- a/cppe/src/IceE/Instance.cpp
+++ b/cppe/src/IceE/Instance.cpp
@@ -66,41 +66,6 @@ IceInternal::Instance::destroyed() const
return _state == StateDestroyed;
}
-PropertiesPtr
-IceInternal::Instance::properties() const
-{
- //
- // No check for destruction. It must be possible to access the
- // properties after destruction.
- //
- // No mutex lock, immutable.
- //
- return _properties;
-}
-
-LoggerPtr
-IceInternal::Instance::logger() const
-{
- //
- // No check for destruction. It must be possible to access the
- // logger after destruction.
- //
- IceUtil::RecMutex::Lock sync(*this);
- return _logger;
-}
-
-void
-IceInternal::Instance::logger(const LoggerPtr& 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).
- //
- IceUtil::RecMutex::Lock sync(*this);
- _logger = logger;
-}
-
TraceLevelsPtr
IceInternal::Instance::traceLevels() const
{
@@ -257,35 +222,9 @@ IceInternal::Instance::flushBatchRequests()
}
#endif
-void
-IceInternal::Instance::setDefaultContext(const Context& ctx)
-{
- IceUtil::RecMutex::Lock sync(*this);
-
- if(_state == StateDestroyed)
- {
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
- }
-
- _defaultContext = ctx;
-}
-
-Context
-IceInternal::Instance::getDefaultContext() const
-{
- IceUtil::RecMutex::Lock sync(*this);
-
- if(_state == StateDestroyed)
- {
- throw CommunicatorDestroyedException(__FILE__, __LINE__);
- }
-
- return _defaultContext;
-}
-
-IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const PropertiesPtr& properties) :
+IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const InitializationData& initData) :
_state(StateActive),
- _properties(properties),
+ _initData(initData),
_messageSizeMax(0)
#ifndef ICEE_PURE_BLOCKING_CLIENT
, _threadPerConnectionStackSize(0)
@@ -304,8 +243,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
// StdOut and StdErr redirection
//
- string stdOutFilename = _properties->getProperty("Ice.StdOut");
- string stdErrFilename = _properties->getProperty("Ice.StdErr");
+ string stdOutFilename = _initData.properties->getProperty("Ice.StdOut");
+ string stdErrFilename = _initData.properties->getProperty("Ice.StdErr");
if(stdOutFilename != "")
{
@@ -351,13 +290,13 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
srand48(seed);
#endif
- if(_properties->getPropertyAsInt("Ice.NullHandleAbort") > 0)
+ if(_initData.properties->getPropertyAsInt("Ice.NullHandleAbort") > 0)
{
IceUtil::nullHandleAbort = true;
}
#ifndef _WIN32
- string newUser = _properties->getProperty("Ice.ChangeUser");
+ string newUser = _initData.properties->getProperty("Ice.ChangeUser");
if(!newUser.empty())
{
struct passwd* pw = getpwnam(newUser.c_str());
@@ -412,15 +351,18 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
sync.release();
- _logger = new LoggerI(_properties->getProperty("Ice.ProgramName"));
+ if(!_initData.logger)
+ {
+ _initData.logger = new LoggerI(_initData.properties->getProperty("Ice.ProgramName"));
+ }
- const_cast<TraceLevelsPtr&>(_traceLevels) = new TraceLevels(_properties);
+ const_cast<TraceLevelsPtr&>(_traceLevels) = new TraceLevels(_initData.properties);
- const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) = new DefaultsAndOverrides(_properties);
+ const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) = new DefaultsAndOverrides(_initData.properties);
{
static const int defaultMessageSizeMax = 1024;
- Int num = _properties->getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
+ Int num = _initData.properties->getPropertyAsIntWithDefault("Ice.MessageSizeMax", defaultMessageSizeMax);
if(num < 1)
{
const_cast<size_t&>(_messageSizeMax) = defaultMessageSizeMax * 1024; // Ignore stupid values.
@@ -438,7 +380,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Prope
#ifndef ICEE_PURE_BLOCKING_CLIENT
{
- Int stackSize = _properties->getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
+ Int stackSize = _initData.properties->getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
if(stackSize < 0)
{
stackSize = 0;
@@ -544,7 +486,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[])
// Show process id if requested (but only once).
//
bool printProcessId = false;
- if(!printProcessIdDone && _properties->getPropertyAsInt("Ice.PrintProcessId") > 0)
+ if(!printProcessIdDone && _initData.properties->getPropertyAsInt("Ice.PrintProcessId") > 0)
{
//
// Safe double-check locking (no dependent variable!)
diff --git a/cppe/src/IceE/Instance.h b/cppe/src/IceE/Instance.h
index e9956d209f8..73d2e9a395e 100644
--- a/cppe/src/IceE/Instance.h
+++ b/cppe/src/IceE/Instance.h
@@ -27,6 +27,7 @@
#endif
#include <IceE/Shared.h>
#include <IceE/RecMutex.h>
+#include <IceE/Initialize.h>
namespace IceInternal
{
@@ -36,9 +37,7 @@ class Instance : public IceUtil::Shared, public IceUtil::RecMutex
public:
bool destroyed() const;
- Ice::PropertiesPtr properties() const;
- Ice::LoggerPtr logger() const;
- void logger(const Ice::LoggerPtr&);
+ const Ice::InitializationData& initializationData() const { return _initData; }
TraceLevelsPtr traceLevels() const;
DefaultsAndOverridesPtr defaultsAndOverrides() const;
#ifdef ICEE_HAS_ROUTER
@@ -56,8 +55,6 @@ public:
#ifdef ICEE_HAS_BATCH
void flushBatchRequests();
#endif
- void setDefaultContext(const ::Ice::Context&);
- ::Ice::Context getDefaultContext() const;
#ifndef ICEE_PURE_BLOCKING_CLIENT
size_t threadPerConnectionStackSize() const;
#endif
@@ -68,7 +65,7 @@ public:
private:
- Instance(const Ice::CommunicatorPtr&, const Ice::PropertiesPtr&);
+ Instance(const Ice::CommunicatorPtr&, const Ice::InitializationData&);
virtual ~Instance();
void finishSetup(int&, char*[]);
@@ -82,8 +79,7 @@ private:
StateDestroyed
};
State _state;
- const Ice::PropertiesPtr _properties; // Immutable, not reset by destroy().
- Ice::LoggerPtr _logger; // Not reset by destroy().
+ Ice::InitializationData _initData; // Immutable, not reset by destroy().
const TraceLevelsPtr _traceLevels; // Immutable, not reset by destroy().
const DefaultsAndOverridesPtr _defaultsAndOverrides; // Immutable, not reset by destroy().
const size_t _messageSizeMax; // Immutable, not reset by destroy().
@@ -100,7 +96,6 @@ private:
ProxyFactoryPtr _proxyFactory;
OutgoingConnectionFactoryPtr _outgoingConnectionFactory;
EndpointFactoryPtr _endpointFactory;
- Ice::Context _defaultContext;
#ifndef ICEE_PURE_CLIENT
ObjectAdapterFactoryPtr _objectAdapterFactory;
diff --git a/cppe/src/IceE/LocatorInfo.cpp b/cppe/src/IceE/LocatorInfo.cpp
index d6d36eb67da..abe2db7d5cb 100644
--- a/cppe/src/IceE/LocatorInfo.cpp
+++ b/cppe/src/IceE/LocatorInfo.cpp
@@ -353,7 +353,7 @@ IceInternal::LocatorInfo::getEndpoints(const IndirectReferencePtr& ref, bool& ca
{
if(ref->getInstance()->traceLevels()->location >= 1)
{
- Trace out(ref->getInstance()->logger(), ref->getInstance()->traceLevels()->locationCat);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
out << "couldn't contact the locator to retrieve adapter endpoints\n";
if(!ref)
{
@@ -451,7 +451,7 @@ IceInternal::LocatorInfo::trace(const string& msg,
const IndirectReferencePtr& ref,
const vector<EndpointPtr>& endpoints)
{
- Trace out(ref->getInstance()->logger(), ref->getInstance()->traceLevels()->locationCat);
+ Trace out(ref->getInstance()->initializationData().logger, ref->getInstance()->traceLevels()->locationCat);
out << msg << "\n";
if(!ref->getAdapterId().empty())
{
diff --git a/cppe/src/IceE/ObjectAdapter.cpp b/cppe/src/IceE/ObjectAdapter.cpp
index 81d1feddeb3..2a025eb64a2 100644
--- a/cppe/src/IceE/ObjectAdapter.cpp
+++ b/cppe/src/IceE/ObjectAdapter.cpp
@@ -102,7 +102,8 @@ Ice::ObjectAdapter::activate()
#ifdef ICEE_HAS_LOCATOR
locatorInfo = _locatorInfo;
#endif
- printAdapterReady = _instance->properties()->getPropertyAsInt("Ice.PrintAdapterReady") > 0;
+ printAdapterReady =
+ _instance->initializationData().properties->getPropertyAsInt("Ice.PrintAdapterReady") > 0;
_printAdapterReadyDone = true;
}
@@ -468,7 +469,7 @@ Ice::ObjectAdapter::createReverseProxy(const Identity& ident) const
// reference.
//
vector<EndpointPtr> endpoints;
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), "",
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext, "",
Reference::ModeTwoway, connections);
return _instance->proxyFactory()->referenceToProxy(ref);
}
@@ -631,8 +632,8 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
_printAdapterReadyDone(false),
_name(name),
#ifdef ICEE_HAS_LOCATOR
- _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")),
#endif
_directCount(0),
_waitForDeactivate(false)
@@ -655,7 +656,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
// Parse published endpoints. 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.empty())
{
@@ -670,7 +671,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
not1(Ice::constMemFun(&Endpoint::publish))), _publishedEndpoints.end());
#ifdef ICEE_HAS_ROUTER
- string router = _instance->properties()->getProperty(_name + ".Router");
+ string router = _instance->initializationData().properties->getProperty(_name + ".Router");
if(!router.empty())
{
addRouter(RouterPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(router)));
@@ -678,7 +679,7 @@ Ice::ObjectAdapter::ObjectAdapter(const InstancePtr& instance, const Communicato
#endif
#ifdef ICEE_HAS_LOCATOR
- string locator = _instance->properties()->getProperty(_name + ".Locator");
+ string locator = _instance->initializationData().properties->getProperty(_name + ".Locator");
if(!locator.empty())
{
setLocator(LocatorPrx::uncheckedCast(_instance->proxyFactory()->stringToProxy(locator)));
@@ -703,12 +704,12 @@ Ice::ObjectAdapter::~ObjectAdapter()
{
if(!_deactivated)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "object adapter `" << _name << "' has not been deactivated";
}
else if(_instance)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "object adapter `" << _name << "' deactivation had not been waited for";
}
else
@@ -760,11 +761,11 @@ Ice::ObjectAdapter::newDirectProxy(const Identity& ident, const string& facet) c
// Create a reference and return a proxy for this reference.
//
#ifdef ICEE_HAS_ROUTER
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, endpoints, 0);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, endpoints, 0);
#else
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, endpoints);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, endpoints);
#endif
return _instance->proxyFactory()->referenceToProxy(ref);
@@ -778,12 +779,12 @@ Ice::ObjectAdapter::newIndirectProxy(const Identity& ident, const string& facet,
// Create a reference with the adapter id.
//
#ifdef ICEE_HAS_ROUTER
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, id, 0, _locatorInfo);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, id, 0, _locatorInfo);
#else
- ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->getDefaultContext(), facet,
- Reference::ModeTwoway, false, id, _locatorInfo);
+ ReferencePtr ref = _instance->referenceFactory()->create(ident, _instance->initializationData().defaultContext,
+ facet, Reference::ModeTwoway, false, id, _locatorInfo);
#endif
//
diff --git a/cppe/src/IceE/OutgoingConnectionFactory.cpp b/cppe/src/IceE/OutgoingConnectionFactory.cpp
index 94338c8ce0f..301d39d0f7e 100755
--- a/cppe/src/IceE/OutgoingConnectionFactory.cpp
+++ b/cppe/src/IceE/OutgoingConnectionFactory.cpp
@@ -278,7 +278,7 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointPtr>& endpts
TraceLevelsPtr traceLevels = _instance->traceLevels();
if(traceLevels->retry >= 2)
{
- Trace out(_instance->logger(), traceLevels->retryCat);
+ Trace out(_instance->initializationData().logger, traceLevels->retryCat);
out << "connection to endpoint failed";
if(q + 1 != endpoints.end())
diff --git a/cppe/src/IceE/ProxyFactory.cpp b/cppe/src/IceE/ProxyFactory.cpp
index d4c7cd5a6e8..cc0a7ab68d8 100644
--- a/cppe/src/IceE/ProxyFactory.cpp
+++ b/cppe/src/IceE/ProxyFactory.cpp
@@ -144,7 +144,7 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co
assert(cnt > 0);
TraceLevelsPtr traceLevels = _instance->traceLevels();
- LoggerPtr logger = _instance->logger();
+ LoggerPtr logger = _instance->initializationData().logger;
if(cnt > static_cast<int>(_retryIntervals.size()))
{
@@ -181,7 +181,7 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co
IceInternal::ProxyFactory::ProxyFactory(const InstancePtr& instance) :
_instance(instance)
{
- string str = _instance->properties()->getPropertyWithDefault("Ice.RetryIntervals", "0");
+ string str = _instance->initializationData().properties->getPropertyWithDefault("Ice.RetryIntervals", "0");
string::size_type beg;
string::size_type end = 0;
diff --git a/cppe/src/IceE/Reference.cpp b/cppe/src/IceE/Reference.cpp
index 7fe34d4c0ef..8d2a1ac0958 100644
--- a/cppe/src/IceE/Reference.cpp
+++ b/cppe/src/IceE/Reference.cpp
@@ -43,7 +43,7 @@ ReferencePtr
IceInternal::Reference::defaultContext() const
{
ReferencePtr r = _instance->referenceFactory()->copy(this);
- r->_context = _instance->getDefaultContext();
+ r->_context = _instance->initializationData().defaultContext;
return r;
}
@@ -1004,10 +1004,9 @@ IceInternal::IndirectReference::getConnection() const
if(cached)
{
TraceLevelsPtr traceLevels = getInstance()->traceLevels();
- LoggerPtr logger = getInstance()->logger();
if(traceLevels->retry >= 2)
{
- Trace out(logger, traceLevels->retryCat);
+ Trace out(getInstance()->initializationData().logger, traceLevels->retryCat);
out << "connection to cached endpoints failed\n"
<< "removing endpoints from cache and trying one more time\n" << ex.toString();
}
diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp
index 9e6ec3278aa..c5a319d0f71 100644
--- a/cppe/src/IceE/ReferenceFactory.cpp
+++ b/cppe/src/IceE/ReferenceFactory.cpp
@@ -431,9 +431,10 @@ IceInternal::ReferenceFactory::create(const string& str)
{
#ifdef ICEE_HAS_LOCATOR
# ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, "", routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, "", routerInfo,
+ locatorInfo);
# else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, "", locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, "", locatorInfo);
# endif
#else
ProxyParseException ex(__FILE__, __LINE__);
@@ -480,9 +481,10 @@ IceInternal::ReferenceFactory::create(const string& str)
throw ex;
}
else if(unknownEndpoints.size() != 0 &&
- _instance->properties()->getPropertyAsIntWithDefault("Ice.Warn.Endpoints", 1) > 0)
+ _instance->initializationData().properties->getPropertyAsIntWithDefault(
+ "Ice.Warn.Endpoints", 1) > 0)
{
- Warning out(_instance->logger());
+ Warning out(_instance->initializationData().logger);
out << "Proxy contains unknown endpoints:";
for(unsigned int idx = 0; idx < unknownEndpoints.size(); ++idx)
{
@@ -491,9 +493,10 @@ IceInternal::ReferenceFactory::create(const string& str)
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints , routerInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints);
#endif
break;
}
@@ -537,9 +540,11 @@ IceInternal::ReferenceFactory::create(const string& str)
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapter, routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapter,
+ routerInfo, locatorInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapter, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapter,
+ locatorInfo);
#endif
break;
}
@@ -613,9 +618,10 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s)
endpoints.push_back(endpoint);
}
#ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints, routerInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo);
#else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, endpoints);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, endpoints);
#endif
}
else
@@ -624,9 +630,11 @@ IceInternal::ReferenceFactory::create(const Identity& ident, BasicStream* s)
LocatorInfoPtr locatorInfo = _instance->locatorManager()->get(getDefaultLocator());
s->read(adapterId);
# ifdef ICEE_HAS_ROUTER
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapterId, routerInfo, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapterId,
+ routerInfo, locatorInfo);
# else
- return create(ident, _instance->getDefaultContext(), facet, mode, secure, adapterId, locatorInfo);
+ return create(ident, _instance->initializationData().defaultContext, facet, mode, secure, adapterId,
+ locatorInfo);
# endif
#else
throw ProxyUnmarshalException(__FILE__, __LINE__);
diff --git a/cppe/src/TcpTransport/Acceptor.cpp b/cppe/src/TcpTransport/Acceptor.cpp
index 06a9b8bce06..208b4261f1a 100644
--- a/cppe/src/TcpTransport/Acceptor.cpp
+++ b/cppe/src/TcpTransport/Acceptor.cpp
@@ -103,7 +103,7 @@ IceInternal::Acceptor::effectivePort()
IceInternal::Acceptor::Acceptor(const InstancePtr& instance, const string& host, int port) :
_instance(instance),
_traceLevels(instance->traceLevels()),
- _logger(instance->logger()),
+ _logger(instance->initializationData().logger),
_backlog(0)
{
if(_backlog <= 0)
diff --git a/cppe/src/TcpTransport/Connector.cpp b/cppe/src/TcpTransport/Connector.cpp
index b1306435688..d12d4dea9a0 100644
--- a/cppe/src/TcpTransport/Connector.cpp
+++ b/cppe/src/TcpTransport/Connector.cpp
@@ -56,7 +56,7 @@ Connector::toString() const
Connector::Connector(const InstancePtr& instance, const string& host, int port) :
_instance(instance),
_traceLevels(instance->traceLevels()),
- _logger(instance->logger())
+ _logger(instance->initializationData().logger)
{
getAddress(host, port, _addr);
}
diff --git a/cppe/src/TcpTransport/Transceiver.cpp b/cppe/src/TcpTransport/Transceiver.cpp
index 3a964f43fa3..7bea32667e4 100644
--- a/cppe/src/TcpTransport/Transceiver.cpp
+++ b/cppe/src/TcpTransport/Transceiver.cpp
@@ -374,7 +374,7 @@ IceInternal::Transceiver::toString() const
IceInternal::Transceiver::Transceiver(const InstancePtr& instance, SOCKET fd) :
_traceLevels(instance->traceLevels()),
- _logger(instance->logger()),
+ _logger(instance->initializationData().logger),
_fd(fd),
_readTimeout(-1),
_writeTimeout(-1),
diff --git a/cppe/test/Common/TestCommon.cpp b/cppe/test/Common/TestCommon.cpp
index 303d3f697ad..8f85aad14c1 100755
--- a/cppe/test/Common/TestCommon.cpp
+++ b/cppe/test/Common/TestCommon.cpp
@@ -477,6 +477,12 @@ TestApplication::TestApplication(const std::string& name)
{
}
+LoggerPtr
+TestApplication::getLogger()
+{
+ return new LoggerI();
+}
+
void
TestApplication::setCommunicator(const CommunicatorPtr& communicator)
{
@@ -487,7 +493,6 @@ TestApplication::setCommunicator(const CommunicatorPtr& communicator)
_tprintfp = fopen(("log-" + _name + ".txt").c_str(), "w");
}
#endif
- _communicator->setLogger(new LoggerI);
}
diff --git a/cppe/test/IceE/adapterDeactivation/Client.cpp b/cppe/test/IceE/adapterDeactivation/Client.cpp
index a66f18b93dd..bdcc4dab8e9 100644
--- a/cppe/test/IceE/adapterDeactivation/Client.cpp
+++ b/cppe/test/IceE/adapterDeactivation/Client.cpp
@@ -27,9 +27,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
TestIntfPrx allTests(const CommunicatorPtr&);
TestIntfPrx obj = allTests(communicator());
diff --git a/cppe/test/IceE/adapterDeactivation/Collocated.cpp b/cppe/test/IceE/adapterDeactivation/Collocated.cpp
index 4cb0bb519dd..b14404657f0 100644
--- a/cppe/test/IceE/adapterDeactivation/Collocated.cpp
+++ b/cppe/test/IceE/adapterDeactivation/Collocated.cpp
@@ -27,11 +27,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new TestI;
diff --git a/cppe/test/IceE/adapterDeactivation/Server.cpp b/cppe/test/IceE/adapterDeactivation/Server.cpp
index 4f10d3c9c9a..8ecf6c1c52c 100644
--- a/cppe/test/IceE/adapterDeactivation/Server.cpp
+++ b/cppe/test/IceE/adapterDeactivation/Server.cpp
@@ -27,11 +27,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new TestI;
diff --git a/cppe/test/IceE/custom/Client.cpp b/cppe/test/IceE/custom/Client.cpp
index 54ef21550b0..c80c581c5c4 100644
--- a/cppe/test/IceE/custom/Client.cpp
+++ b/cppe/test/IceE/custom/Client.cpp
@@ -26,10 +26,12 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Test::TestIntfPrx allTests(const Ice::CommunicatorPtr&);
Test::TestIntfPrx test = allTests(communicator());
diff --git a/cppe/test/IceE/custom/Collocated.cpp b/cppe/test/IceE/custom/Collocated.cpp
index c3582f2925f..7b440949847 100644
--- a/cppe/test/IceE/custom/Collocated.cpp
+++ b/cppe/test/IceE/custom/Collocated.cpp
@@ -27,14 +27,16 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
adapter->add(new TestIntfI(communicator()), Ice::stringToIdentity("test"));
diff --git a/cppe/test/IceE/custom/Server.cpp b/cppe/test/IceE/custom/Server.cpp
index b564ea0543e..ba435f5310b 100644
--- a/cppe/test/IceE/custom/Server.cpp
+++ b/cppe/test/IceE/custom/Server.cpp
@@ -27,14 +27,16 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
adapter->add(new TestIntfI(communicator()), Ice::stringToIdentity("test"));
diff --git a/cppe/test/IceE/exceptions/Client.cpp b/cppe/test/IceE/exceptions/Client.cpp
index 367fbd2f93a..0019a3bd223 100644
--- a/cppe/test/IceE/exceptions/Client.cpp
+++ b/cppe/test/IceE/exceptions/Client.cpp
@@ -26,9 +26,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
ThrowerPrx allTests(const Ice::CommunicatorPtr&);
ThrowerPrx thrower = allTests(communicator());
diff --git a/cppe/test/IceE/exceptions/Collocated.cpp b/cppe/test/IceE/exceptions/Collocated.cpp
index d8232315a83..ee0603d4a5e 100644
--- a/cppe/test/IceE/exceptions/Collocated.cpp
+++ b/cppe/test/IceE/exceptions/Collocated.cpp
@@ -26,13 +26,15 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- properties->setProperty("Ice.Warn.Dispatch", "0");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ initData.properties->setProperty("Ice.Warn.Dispatch", "0");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new ThrowerI(adapter);
diff --git a/cppe/test/IceE/exceptions/Server.cpp b/cppe/test/IceE/exceptions/Server.cpp
index f7e7c908cc2..6380523d537 100644
--- a/cppe/test/IceE/exceptions/Server.cpp
+++ b/cppe/test/IceE/exceptions/Server.cpp
@@ -25,12 +25,14 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("Ice.Warn.Dispatch", "0");
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("Ice.Warn.Dispatch", "0");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new ThrowerI(adapter);
diff --git a/cppe/test/IceE/facets/Client.cpp b/cppe/test/IceE/facets/Client.cpp
index 585786ba180..26bf95a97b5 100644
--- a/cppe/test/IceE/facets/Client.cpp
+++ b/cppe/test/IceE/facets/Client.cpp
@@ -26,9 +26,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
GPrx allTests(const Ice::CommunicatorPtr&);
GPrx g = allTests(communicator());
diff --git a/cppe/test/IceE/facets/Collocated.cpp b/cppe/test/IceE/facets/Collocated.cpp
index 939b9a28221..3057be10780 100644
--- a/cppe/test/IceE/facets/Collocated.cpp
+++ b/cppe/test/IceE/facets/Collocated.cpp
@@ -26,11 +26,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr d = new DI;
diff --git a/cppe/test/IceE/facets/Server.cpp b/cppe/test/IceE/facets/Server.cpp
index 4490d0fe357..40948706ea2 100644
--- a/cppe/test/IceE/facets/Server.cpp
+++ b/cppe/test/IceE/facets/Server.cpp
@@ -25,11 +25,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr d = new DI;
diff --git a/cppe/test/IceE/faultTolerance/Client.cpp b/cppe/test/IceE/faultTolerance/Client.cpp
index f5f6e3aa67e..891cfc85614 100644
--- a/cppe/test/IceE/faultTolerance/Client.cpp
+++ b/cppe/test/IceE/faultTolerance/Client.cpp
@@ -31,14 +31,15 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ setCommunicator(Ice::initialize(argc, argv, initData));
//
// This test aborts servers, so we don't want warnings.
//
- properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
vector<int> ports;
for(int i = 1; i < argc; ++i)
diff --git a/cppe/test/IceE/faultTolerance/Server.cpp b/cppe/test/IceE/faultTolerance/Server.cpp
index db0abc4ec81..58aaad12c32 100644
--- a/cppe/test/IceE/faultTolerance/Server.cpp
+++ b/cppe/test/IceE/faultTolerance/Server.cpp
@@ -32,9 +32,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
int port = 0;
for(int i = 1; i < argc; ++i)
@@ -65,7 +67,7 @@ public:
char buf[32];
sprintf(buf, "default -p %d", port);
- properties->setProperty("TestAdapter.Endpoints", buf);
+ initData.properties->setProperty("TestAdapter.Endpoints", buf);
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new TestI(adapter);
adapter->add(object, Ice::stringToIdentity("test"));
diff --git a/cppe/test/IceE/inheritance/Client.cpp b/cppe/test/IceE/inheritance/Client.cpp
index 3e63473bba9..edc2dc0a23a 100644
--- a/cppe/test/IceE/inheritance/Client.cpp
+++ b/cppe/test/IceE/inheritance/Client.cpp
@@ -26,9 +26,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
InitialPrx allTests(const Ice::CommunicatorPtr&);
InitialPrx initial = allTests(communicator());
diff --git a/cppe/test/IceE/inheritance/Collocated.cpp b/cppe/test/IceE/inheritance/Collocated.cpp
index eb8272e9862..869bd4f8f0c 100644
--- a/cppe/test/IceE/inheritance/Collocated.cpp
+++ b/cppe/test/IceE/inheritance/Collocated.cpp
@@ -26,11 +26,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new InitialI(adapter);
diff --git a/cppe/test/IceE/inheritance/Server.cpp b/cppe/test/IceE/inheritance/Server.cpp
index a182a98d5bf..bb3e88f363a 100644
--- a/cppe/test/IceE/inheritance/Server.cpp
+++ b/cppe/test/IceE/inheritance/Server.cpp
@@ -25,11 +25,13 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new InitialI(adapter);
diff --git a/cppe/test/IceE/location/Client.cpp b/cppe/test/IceE/location/Client.cpp
index e9b95aeadef..7c0239a0de4 100644
--- a/cppe/test/IceE/location/Client.cpp
+++ b/cppe/test/IceE/location/Client.cpp
@@ -28,21 +28,23 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties(argc, argv);
- loadConfig(properties);
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties(argc, argv);
+ loadConfig(initData.properties);
//
// For blocking client change retry interval from default.
//
- if(properties->getPropertyAsInt("Ice.Blocking") > 0)
+ if(initData.properties->getPropertyAsInt("Ice.Blocking") > 0)
{
- properties->setProperty("Ice.RetryIntervals", "0 0");
- properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.RetryIntervals", "0 0");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
}
- properties->setProperty("Ice.Default.Locator",
- properties->getPropertyWithDefault("Location.Locator", "locator:default -p 12010"));
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ initData.properties->setProperty("Ice.Default.Locator",
+ initData.properties->getPropertyWithDefault("Location.Locator", "locator:default -p 12010"));
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
void allTests(const Ice::CommunicatorPtr&);
allTests(communicator());
diff --git a/cppe/test/IceE/location/Server.cpp b/cppe/test/IceE/location/Server.cpp
index 1507d8704d8..586b32225a4 100644
--- a/cppe/test/IceE/location/Server.cpp
+++ b/cppe/test/IceE/location/Server.cpp
@@ -29,33 +29,35 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties(argc, argv);
- properties->setProperty("ServerManager.Endpoints", "default -p 12010");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties(argc, argv);
+ initData.properties->setProperty("ServerManager.Endpoints", "default -p 12010");
- loadConfig(properties);
+ loadConfig(initData.properties);
//
// For blocking client test, set timeout so CloseConnection send will
// return quickly. Otherwise server will hang since client is not
// listening for these messages.
//
- if(properties->getPropertyAsInt("Ice.Blocking") > 0)
+ if(initData.properties->getPropertyAsInt("Ice.Blocking") > 0)
{
- properties->setProperty("Ice.Override.Timeout", "100");
- properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Override.Timeout", "100");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
}
//
// These properties cannot be overridden. The OAs started by
// the ServerManager must be local.
//
- properties->setProperty("TestAdapter.Endpoints", "default");
- properties->setProperty("TestAdapter.AdapterId", "TestAdapter");
- properties->setProperty("TestAdapter.ReplicaGroupId", "ReplicatedAdapter");
- properties->setProperty("TestAdapter2.Endpoints", "default");
- properties->setProperty("TestAdapter2.AdapterId", "TestAdapter2");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default");
+ initData.properties->setProperty("TestAdapter.AdapterId", "TestAdapter");
+ initData.properties->setProperty("TestAdapter.ReplicaGroupId", "ReplicatedAdapter");
+ initData.properties->setProperty("TestAdapter2.Endpoints", "default");
+ initData.properties->setProperty("TestAdapter2.AdapterId", "TestAdapter2");
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
//
// Register the server manager. The server manager creates a
@@ -72,7 +74,7 @@ public:
//
ServerLocatorRegistryPtr registry = new ServerLocatorRegistry();
registry->addObject(adapter->createProxy(Ice::stringToIdentity("ServerManager")));
- Ice::ObjectPtr object = new ServerManagerI(adapter, registry, properties);
+ Ice::ObjectPtr object = new ServerManagerI(adapter, registry, initData.properties);
adapter->add(object, Ice::stringToIdentity("ServerManager"));
Ice::LocatorRegistryPrx registryPrx =
diff --git a/cppe/test/IceE/location/TestI.cpp b/cppe/test/IceE/location/TestI.cpp
index 51a5d006028..b6da40a70a3 100644
--- a/cppe/test/IceE/location/TestI.cpp
+++ b/cppe/test/IceE/location/TestI.cpp
@@ -45,8 +45,10 @@ ServerManagerI::startServer(const Ice::Current&)
// its endpoints with the locator and create references containing
// the adapter id instead of the endpoints.
//
- Ice::CommunicatorPtr serverCommunicator = Ice::initializeWithProperties(argc, argv, _properties);
- serverCommunicator->setLogger(_adapter->getCommunicator()->getLogger());
+ Ice::InitializationData initData;
+ initData.properties = _properties;
+ initData.logger = _adapter->getCommunicator()->getLogger();
+ Ice::CommunicatorPtr serverCommunicator = Ice::initialize(argc, argv, initData);
_communicators.push_back(serverCommunicator);
Ice::ObjectAdapterPtr adapter = serverCommunicator->createObjectAdapter("TestAdapter");
diff --git a/cppe/test/IceE/operations/Client.cpp b/cppe/test/IceE/operations/Client.cpp
index 550254df87f..00a4136e677 100644
--- a/cppe/test/IceE/operations/Client.cpp
+++ b/cppe/test/IceE/operations/Client.cpp
@@ -26,23 +26,25 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// We must set MessageSizeMax to an explicit values, because
// we run tests to check whether Ice.MemoryLimitException is
// raised as expected.
//
- properties->setProperty("Ice.MessageSizeMax", "100");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("Ice.MessageSizeMax", "100");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
//
// We don't want connection warnings because of the timeout test.
//
- properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
Test::MyClassPrx allTests(const Ice::CommunicatorPtr&);
Test::MyClassPrx myClass = allTests(communicator());
diff --git a/cppe/test/IceE/operations/Collocated.cpp b/cppe/test/IceE/operations/Collocated.cpp
index 7d16d82448e..85376091a7a 100644
--- a/cppe/test/IceE/operations/Collocated.cpp
+++ b/cppe/test/IceE/operations/Collocated.cpp
@@ -26,20 +26,22 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
//
// We must set MessageSizeMax to an explicit values, because
// we run tests to check whether Ice.MemoryLimitException is
// raised as expected.
//
- properties->setProperty("Ice.MessageSizeMax", "100");
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("Ice.MessageSizeMax", "100");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("test");
diff --git a/cppe/test/IceE/operations/Server.cpp b/cppe/test/IceE/operations/Server.cpp
index 673b636e279..83facd40c7a 100644
--- a/cppe/test/IceE/operations/Server.cpp
+++ b/cppe/test/IceE/operations/Server.cpp
@@ -26,14 +26,16 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::Identity id = Ice::stringToIdentity("test");
diff --git a/cppe/test/IceE/operations/Twoways.cpp b/cppe/test/IceE/operations/Twoways.cpp
index 5bcd0718328..ecf6b5c15ed 100644
--- a/cppe/test/IceE/operations/Twoways.cpp
+++ b/cppe/test/IceE/operations/Twoways.cpp
@@ -645,45 +645,31 @@ twoways(const Ice::CommunicatorPtr& communicator, const Test::MyClassPrx& p)
//
// Test that default context is obtained correctly from communicator.
//
- Ice::Context dflt;
- dflt["a"] = "b";
- communicator->setDefaultContext(dflt);
- test(p->opContext() != dflt);
+ int argc = 0;
+ char* argv[] = { "" };
+ Ice::InitializationData initData;
+ initData.defaultContext["a"] = "b";
+ Ice::CommunicatorPtr communicator2 = Ice::initialize(argc, argv, initData);
- Test::MyClassPrx p2 = Test::MyClassPrx::uncheckedCast(p->ice_context(Ice::Context()));
- test(p2->opContext().empty());
-
- p2 = Test::MyClassPrx::uncheckedCast(p->ice_defaultContext());
- test(p2->opContext() == dflt);
-
- communicator->setDefaultContext(Ice::Context());
- test(!p2->opContext().empty());
-
- communicator->setDefaultContext(dflt);
string ref = communicator->getProperties()->getPropertyWithDefault(
"Operations.Proxy", "test:default -p 12010 -t 10000");
Test::MyClassPrx c = Test::MyClassPrx::checkedCast(communicator->stringToProxy(ref));
- test(c->opContext() == dflt);
+ test(c->opContext() == initData.defaultContext);
- dflt["a"] = "c";
- Test::MyClassPrx c2 = Test::MyClassPrx::uncheckedCast(c->ice_context(dflt));
+ Ice::Context ctx;
+ ctx["a"] = "c";
+ Test::MyClassPrx c2 = Test::MyClassPrx::uncheckedCast(c->ice_context(ctx));
test(c2->opContext()["a"] == "c");
- dflt.clear();
- Test::MyClassPrx c3 = Test::MyClassPrx::uncheckedCast(c2->ice_context(dflt));
+ ctx.clear();
+ Test::MyClassPrx c3 = Test::MyClassPrx::uncheckedCast(c2->ice_context(ctx));
Ice::Context tmp = c3->opContext();
test(tmp.find("a") == tmp.end());
Test::MyClassPrx c4 = Test::MyClassPrx::uncheckedCast(c2->ice_defaultContext());
test(c4->opContext()["a"] == "b");
- dflt["a"] = "d";
- communicator->setDefaultContext(dflt);
-
- Test::MyClassPrx c5 = Test::MyClassPrx::uncheckedCast(c->ice_defaultContext());
- test(c5->opContext()["a"] == "d");
-
- communicator->setDefaultContext(Ice::Context());
+ communicator2->destroy();
}
}
diff --git a/cppe/test/IceE/retry/Client.cpp b/cppe/test/IceE/retry/Client.cpp
index 2f40ceb4ece..21ccc08bae3 100644
--- a/cppe/test/IceE/retry/Client.cpp
+++ b/cppe/test/IceE/retry/Client.cpp
@@ -26,23 +26,25 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
+ loadConfig(initData.properties);
//
// For this test, we want to disable retries.
//
- properties->setProperty("Ice.RetryIntervals", "-1");
+ initData.properties->setProperty("Ice.RetryIntervals", "-1");
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
//
// This test kills connections, so we don't want warnings.
//
- properties->setProperty("Ice.Warn.Connections", "0");
+ initData.properties->setProperty("Ice.Warn.Connections", "0");
Test::RetryPrx allTests(const Ice::CommunicatorPtr&);
Test::RetryPrx retry = allTests(communicator());
diff --git a/cppe/test/IceE/retry/Server.cpp b/cppe/test/IceE/retry/Server.cpp
index 660c9293660..f11f6168fe6 100644
--- a/cppe/test/IceE/retry/Server.cpp
+++ b/cppe/test/IceE/retry/Server.cpp
@@ -26,14 +26,16 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
- //properties->setProperty("Ice.Trace.Network", "5");
- //properties->setProperty("Ice.Trace.Protocol", "5");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
+ //initData.properties->setProperty("Ice.Trace.Network", "5");
+ //initData.properties->setProperty("Ice.Trace.Protocol", "5");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new RetryI;
diff --git a/cppe/test/IceE/slicing/Client.cpp b/cppe/test/IceE/slicing/Client.cpp
index 26703721335..a8762d778aa 100644
--- a/cppe/test/IceE/slicing/Client.cpp
+++ b/cppe/test/IceE/slicing/Client.cpp
@@ -26,9 +26,11 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
TestIntfPrx allTests(const Ice::CommunicatorPtr&);
TestIntfPrx Test = allTests(communicator());
diff --git a/cppe/test/IceE/slicing/Server.cpp b/cppe/test/IceE/slicing/Server.cpp
index 700d45bfeff..3545ea999ed 100644
--- a/cppe/test/IceE/slicing/Server.cpp
+++ b/cppe/test/IceE/slicing/Server.cpp
@@ -25,12 +25,14 @@ public:
virtual int
run(int argc, char* argv[])
{
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->setProperty("Ice.Warn.Dispatch", "0");
- properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 2000");
+ Ice::InitializationData initData;
+ initData.properties = Ice::createProperties();
+ initData.properties->setProperty("Ice.Warn.Dispatch", "0");
+ initData.properties->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 2000");
- loadConfig(properties);
- setCommunicator(Ice::initializeWithProperties(argc, argv, properties));
+ loadConfig(initData.properties);
+ initData.logger = getLogger();
+ setCommunicator(Ice::initialize(argc, argv, initData));
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter");
Ice::ObjectPtr object = new TestI(adapter);
diff --git a/cppe/test/include/TestApplication.h b/cppe/test/include/TestApplication.h
index b7e8f0d0b20..578b8add33f 100644
--- a/cppe/test/include/TestApplication.h
+++ b/cppe/test/include/TestApplication.h
@@ -37,6 +37,8 @@ public:
virtual int run(int, char*[]) = 0;
+ Ice::LoggerPtr getLogger();
+
void setCommunicator(const Ice::CommunicatorPtr&);
Ice::CommunicatorPtr communicator();
diff --git a/cs/CHANGES b/cs/CHANGES
index ddc5c817cac..7af065f5a20 100644
--- a/cs/CHANGES
+++ b/cs/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/cs/src/Ice/Application.cs b/cs/src/Ice/Application.cs
index d5dcba3d036..90b4d2a99b5 100755
--- a/cs/src/Ice/Application.cs
+++ b/cs/src/Ice/Application.cs
@@ -57,16 +57,14 @@ namespace Ice
try
{
+ InitializationData initData = new InitializationData();
+ initData.logger = logger;
if(configFile != null)
{
- Properties properties = Util.createProperties();
- properties.load(configFile);
- _communicator = Util.initializeWithPropertiesAndLogger(ref args, properties, logger);
- }
- else
- {
- _communicator = Util.initializeWithLogger(ref args, logger);
+ initData.properties = Util.createProperties();
+ initData.properties.load(configFile);
}
+ _communicator = Util.initialize(ref args, initData);
Properties props = _communicator.getProperties();
_nohup = props.getPropertyAsInt("Ice.Nohup") != 0;
diff --git a/cs/src/Ice/BasicStream.cs b/cs/src/Ice/BasicStream.cs
index ebae60f65b9..ee356b7468a 100755
--- a/cs/src/Ice/BasicStream.cs
+++ b/cs/src/Ice/BasicStream.cs
@@ -1264,7 +1264,7 @@ namespace IceInternal
}
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.
@@ -1355,7 +1355,7 @@ namespace IceInternal
}
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.
@@ -1438,7 +1438,7 @@ namespace IceInternal
}
catch(System.Exception ex)
{
- instance_.logger().warning("exception raised by ice_postUnmarshal::\n" + ex);
+ instance_.initializationData().logger.warning("exception raised by ice_postUnmarshal::\n" + ex);
}
}
}
@@ -1459,7 +1459,7 @@ namespace IceInternal
}
catch(System.Exception ex)
{
- instance_.logger().warning("exception raised by ice_preMarshal::\n" + ex);
+ instance_.initializationData().logger.warning("exception raised by ice_preMarshal::\n" + ex);
}
v.write__(this);
}
diff --git a/cs/src/Ice/CommunicatorI.cs b/cs/src/Ice/CommunicatorI.cs
index 86d06cc8d5d..6e421ad4229 100755
--- a/cs/src/Ice/CommunicatorI.cs
+++ b/cs/src/Ice/CommunicatorI.cs
@@ -64,27 +64,17 @@ namespace Ice
public Properties getProperties()
{
- return instance_.properties();
+ return instance_.initializationData().properties;
}
public Logger getLogger()
{
- return instance_.logger();
+ return instance_.initializationData().logger;
}
- public void setLogger(Logger logger)
- {
- instance_.logger(logger);
- }
-
public Stats getStats()
{
- return instance_.stats();
- }
-
- public void setStats(Stats stats)
- {
- instance_.stats(stats);
+ return instance_.initializationData().stats;
}
public RouterPrx getDefaultRouter()
@@ -109,12 +99,7 @@ namespace Ice
public Ice.Context getDefaultContext()
{
- return instance_.getDefaultContext();
- }
-
- public void setDefaultContext(Ice.Context ctx)
- {
- instance_.setDefaultContext(ctx);
+ return instance_.initializationData().defaultContext;
}
public PluginManager getPluginManager()
@@ -127,9 +112,9 @@ namespace Ice
instance_.flushBatchRequests();
}
- internal CommunicatorI(Properties properties, Logger logger)
+ internal CommunicatorI(InitializationData initData)
{
- instance_ = new IceInternal.Instance(this, properties, logger);
+ instance_ = new IceInternal.Instance(this, initData);
}
#if DEBUG
@@ -141,7 +126,8 @@ namespace Ice
{
if(!System.Environment.HasShutdownStarted)
{
- instance_.logger().warning("Ice::Communicator::destroy() has not been called");
+ instance_.initializationData().logger.warning(
+ "Ice::Communicator::destroy() has not been called");
}
else
{
diff --git a/cs/src/Ice/ConnectionFactory.cs b/cs/src/Ice/ConnectionFactory.cs
index 9dae9baed65..48b550639b7 100644
--- a/cs/src/Ice/ConnectionFactory.cs
+++ b/cs/src/Ice/ConnectionFactory.cs
@@ -332,7 +332,7 @@ namespace IceInternal
s.Append(" and no more endpoints to try\n");
}
s.Append(exception);
- instance_.logger().trace(traceLevels.retryCat, s.ToString());
+ instance_.initializationData().logger.trace(traceLevels.retryCat, s.ToString());
}
}
@@ -862,7 +862,8 @@ namespace IceInternal
_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;
_connections = new LinkedList();
_state = StateHolding;
@@ -933,7 +934,8 @@ namespace IceInternal
}
catch(System.Exception ex)
{
- instance_.logger().error("cannot create thread for incoming connection factory:\n" + ex);
+ instance_.initializationData().logger.error(
+ "cannot create thread for incoming connection factory:\n" + ex);
throw;
}
}
@@ -1123,7 +1125,7 @@ namespace IceInternal
private void warning(Ice.LocalException ex)
{
- instance_.logger().warning("connection exception:\n" + ex + '\n' + _acceptor.ToString());
+ instance_.initializationData().logger.warning("connection exception:\n" + ex + '\n' + _acceptor.ToString());
}
private void run()
@@ -1248,12 +1250,13 @@ namespace IceInternal
}
catch(Ice.Exception ex)
{
- instance_.logger().error("exception in thread per incoming connection factory:\n" + ToString() +
- ex.ToString());
+ instance_.initializationData().logger.error("exception in thread per incoming connection factory:\n" +
+ ToString() + ex.ToString());
}
catch(System.Exception ex)
{
- instance_.logger().error("system exception in thread per incoming connection factory:\n" + ToString() +
+ instance_.initializationData().logger.error(
+ "system exception in thread per incoming connection factory:\n" + ToString() +
ex.ToString());
}
}
diff --git a/cs/src/Ice/ConnectionI.cs b/cs/src/Ice/ConnectionI.cs
index 2919fa616ed..454a58d915b 100755
--- a/cs/src/Ice/ConnectionI.cs
+++ b/cs/src/Ice/ConnectionI.cs
@@ -1071,7 +1071,8 @@ namespace Ice
ConnectionI[] connections = new ConnectionI[1];
connections[0] = this;
IceInternal.Reference @ref = instance_.referenceFactory().create(
- ident, instance_.getDefaultContext(), "", IceInternal.Reference.Mode.ModeTwoway, connections);
+ ident, instance_.initializationData().defaultContext, "", IceInternal.Reference.Mode.ModeTwoway,
+ connections);
return instance_.proxyFactory().referenceToProxy(@ref);
}
@@ -1268,11 +1269,11 @@ namespace Ice
_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;
+ _warn = instance_.initializationData().properties.getPropertyAsInt("Ice.Warn.Connections") > 0;
_acmAbsoluteTimeoutMillis = 0;
_nextRequestId = 1;
_batchStream = new IceInternal.BasicStream(instance);
@@ -1299,7 +1300,8 @@ namespace Ice
}
}
- _compressionLevel = instance_.properties().getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
+ _compressionLevel =
+ instance_.initializationData().properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1);
if(_compressionLevel < 1)
{
_compressionLevel = 1;
@@ -1348,11 +1350,11 @@ namespace Ice
{
if(instance_.threadPerConnection())
{
- instance_.logger().error("cannot create thread for connection:\n" + ex);
+ _logger.error("cannot create thread for connection:\n" + ex);
}
else
{
- instance_.logger().error("cannot create thread pool for connection:\n" + ex);
+ _logger.error("cannot create thread pool for connection:\n" + ex);
}
try
@@ -2000,7 +2002,7 @@ namespace Ice
activate();
}
- bool warnUdp = instance_.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ bool warnUdp = instance_.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
bool closed = false;
@@ -2239,11 +2241,11 @@ namespace Ice
}
catch(Exception ex)
{
- instance_.logger().error("exception in thread per connection:\n" + ToString() + "\n" + ex.ToString());
+ _logger.error("exception in thread per connection:\n" + ToString() + "\n" + ex.ToString());
}
catch(System.Exception ex)
{
- instance_.logger().error("system exception in thread per connection:\n" + ToString() + "\n" +
+ _logger.error("system exception in thread per connection:\n" + ToString() + "\n" +
ex.ToString());
}
}
diff --git a/cs/src/Ice/ConnectionMonitor.cs b/cs/src/Ice/ConnectionMonitor.cs
index 551806f0f04..c1d2d71f6ff 100755
--- a/cs/src/Ice/ConnectionMonitor.cs
+++ b/cs/src/Ice/ConnectionMonitor.cs
@@ -64,7 +64,7 @@ namespace IceInternal
_interval = interval * 1000;
_connections = new Set();
- string threadName = instance_.properties().getProperty("Ice.ProgramName");
+ string threadName = instance_.initializationData().properties.getProperty("Ice.ProgramName");
if(threadName.Length > 0)
{
threadName += "-";
@@ -130,7 +130,7 @@ namespace IceInternal
{
return;
}
- instance_.logger().error("exception in connection monitor thread " + _thread.Name +
+ instance_.initializationData().logger.error("exception in connection monitor thread " + _thread.Name +
"::\n" + ex);
}
}
@@ -142,7 +142,7 @@ namespace IceInternal
{
return;
}
- instance_.logger().error("unknown exception in connection monitor thread " +
+ instance_.initializationData().logger.error("unknown exception in connection monitor thread " +
_thread.Name + ":\n" + ex);
}
}
diff --git a/cs/src/Ice/Incoming.cs b/cs/src/Ice/Incoming.cs
index 89c6c2671a7..78cfa1f864c 100755
--- a/cs/src/Ice/Incoming.cs
+++ b/cs/src/Ice/Incoming.cs
@@ -116,7 +116,7 @@ namespace IceInternal
output.print("\noperation: " + current_.operation);
output.print("\n");
output.print(ex.ToString());
- os_.instance().logger().warning(sw.ToString());
+ os_.instance().initializationData().logger.warning(sw.ToString());
}
}
@@ -285,7 +285,8 @@ namespace IceInternal
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);
}
@@ -340,7 +341,8 @@ namespace IceInternal
{
_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);
}
@@ -364,7 +366,8 @@ namespace IceInternal
{
_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);
}
@@ -388,7 +391,8 @@ namespace IceInternal
{
_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);
}
@@ -412,7 +416,8 @@ namespace IceInternal
{
_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);
}
@@ -437,7 +442,8 @@ namespace IceInternal
{
_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);
}
@@ -462,7 +468,8 @@ namespace IceInternal
{
_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/cs/src/Ice/IncomingAsync.cs b/cs/src/Ice/IncomingAsync.cs
index fc671660aa7..487cf86c5a6 100755
--- a/cs/src/Ice/IncomingAsync.cs
+++ b/cs/src/Ice/IncomingAsync.cs
@@ -95,7 +95,8 @@ namespace IceInternal
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);
}
@@ -146,7 +147,8 @@ namespace IceInternal
}
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);
}
@@ -166,7 +168,8 @@ namespace IceInternal
}
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);
}
@@ -186,7 +189,8 @@ namespace IceInternal
}
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);
}
@@ -206,7 +210,8 @@ namespace IceInternal
}
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);
}
@@ -226,7 +231,8 @@ namespace IceInternal
}
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);
}
@@ -246,7 +252,8 @@ namespace IceInternal
}
catch(System.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/cs/src/Ice/Instance.cs b/cs/src/Ice/Instance.cs
index c16a41a2c63..50f2d90eb92 100755
--- a/cs/src/Ice/Instance.cs
+++ b/cs/src/Ice/Instance.cs
@@ -19,66 +19,15 @@ namespace IceInternal
return _state == StateDestroyed;
}
- 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 Ice.Logger logger()
- {
- lock(this)
- {
- //
- // No check for destruction. It must be possible to access the
- // logger after destruction.
- //
- return _logger;
- }
- }
-
- public void logger(Ice.Logger logger)
- {
- lock(this)
- {
- //
- // 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 Ice.Stats stats()
- {
- lock(this)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- return _stats;
- }
- }
-
- public void stats(Ice.Stats stats)
- {
- lock(this)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- _stats = stats;
- }
+ return _initData;
}
public TraceLevels traceLevels()
@@ -227,7 +176,7 @@ namespace IceInternal
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);
}
@@ -285,39 +234,6 @@ namespace IceInternal
return _serverACM;
}
- public void setDefaultContext(Ice.Context ctx)
- {
- lock(this)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- if(ctx == null || ctx.Count == 0)
- {
- _defaultContext = _emptyContext;
- }
- else
- {
- _defaultContext = (Ice.Context)ctx.Clone();
- }
- }
- }
-
- public Ice.Context getDefaultContext()
- {
- lock(this)
- {
- if(_state == StateDestroyed)
- {
- throw new Ice.CommunicatorDestroyedException();
- }
-
- return (Ice.Context)_defaultContext.Clone();
- }
- }
-
public void flushBatchRequests()
{
OutgoingConnectionFactory connectionFactory;
@@ -341,11 +257,10 @@ namespace IceInternal
//
// Only for use by Ice.CommunicatorI
//
- public Instance(Ice.Communicator communicator, Ice.Properties properties, Ice.Logger logger)
+ public Instance(Ice.Communicator communicator, Ice.InitializationData initData)
{
_state = StateActive;
- _properties = properties;
- _logger = logger;
+ _initData = initData;
try
{
@@ -353,8 +268,8 @@ namespace IceInternal
{
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");
System.IO.StreamWriter outStream = null;
@@ -403,28 +318,27 @@ namespace IceInternal
}
}
- 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.
-
- _traceLevels = new TraceLevels(_properties);
+ _traceLevels = new TraceLevels(_initData.properties);
- _defaultsAndOverrides = new DefaultsAndOverrides(_properties);
+ _defaultsAndOverrides = new DefaultsAndOverrides(_initData.properties);
{
const 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.
@@ -442,10 +356,10 @@ namespace IceInternal
//
// 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;
_routerManager = new RouterManager();
@@ -463,7 +377,10 @@ namespace IceInternal
_pluginManager = new Ice.PluginManagerI(communicator);
- _defaultContext = _emptyContext;
+ if(_initData.defaultContext == null)
+ {
+ _initData.defaultContext = _emptyContext;
+ }
_outgoingConnectionFactory = new OutgoingConnectionFactory(this);
@@ -530,7 +447,7 @@ namespace IceInternal
//
lock(this)
{
- if(!_printProcessIdDone && _properties.getPropertyAsInt("Ice.PrintProcessId") > 0)
+ if(!_printProcessIdDone && _initData.properties.getPropertyAsInt("Ice.PrintProcessId") > 0)
{
using(Process p = Process.GetCurrentProcess())
{
@@ -563,7 +480,7 @@ namespace IceInternal
{
interval = _serverACM;
}
- interval = _properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
+ interval = _initData.properties.getPropertyAsIntWithDefault("Ice.MonitorConnections", interval);
if(interval > 0)
{
_connectionMonitor = new ConnectionMonitor(this, interval);
@@ -712,9 +629,7 @@ namespace IceInternal
private const int StateDestroyInProgress = 1;
private const int StateDestroyed = 2;
private int _state;
- private 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 Ice.InitializationData _initData; // Immutable, not reset by destroy().
private TraceLevels _traceLevels; // Immutable, not reset by destroy().
private DefaultsAndOverrides _defaultsAndOverrides; // Immutable, not reset by destroy().
private int _messageSizeMax; // Immutable, not reset by destroy().
@@ -733,7 +648,6 @@ namespace IceInternal
private bool _threadPerConnection;
private EndpointFactoryManager _endpointFactoryManager;
private Ice.PluginManager _pluginManager;
- private Ice.Context _defaultContext;
private static Ice.Context _emptyContext = new Ice.Context();
private static bool _printProcessIdDone = false;
diff --git a/cs/src/Ice/LocatorInfo.cs b/cs/src/Ice/LocatorInfo.cs
index 037bfe9b10c..22f7b8ee797 100755
--- a/cs/src/Ice/LocatorInfo.cs
+++ b/cs/src/Ice/LocatorInfo.cs
@@ -179,7 +179,8 @@ namespace IceInternal
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());
}
}
@@ -285,7 +286,7 @@ namespace IceInternal
}
}
- r.getInstance().logger().trace(r.getInstance().traceLevels().locationCat, s.ToString());
+ r.getInstance().initializationData().logger.trace(r.getInstance().traceLevels().locationCat, s.ToString());
}
private readonly Ice.LocatorPrx _locator;
diff --git a/cs/src/Ice/ObjectAdapterI.cs b/cs/src/Ice/ObjectAdapterI.cs
index 0b3eef94acf..f7cbab67cb5 100755
--- a/cs/src/Ice/ObjectAdapterI.cs
+++ b/cs/src/Ice/ObjectAdapterI.cs
@@ -48,9 +48,11 @@ namespace Ice
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;
}
@@ -526,7 +528,8 @@ namespace Ice
connections.CopyTo(arr, 0);
}
IceInternal.Reference @ref = instance_.referenceFactory().create(
- ident, instance_.getDefaultContext(), "", IceInternal.Reference.Mode.ModeTwoway, arr);
+ ident, instance_.initializationData().defaultContext, "", IceInternal.Reference.Mode.ModeTwoway,
+ arr);
return instance_.proxyFactory().referenceToProxy(@ref);
}
}
@@ -836,8 +839,8 @@ namespace Ice
_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");
_incomingConnectionFactories = new ArrayList();
_routerEndpoints = new ArrayList();
_routerInfos = new ArrayList();
@@ -862,7 +865,7 @@ namespace Ice
// 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.Count == 0)
{
@@ -885,13 +888,13 @@ namespace Ice
}
_publishedEndpoints = tmp;
- 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)));
@@ -903,8 +906,9 @@ namespace Ice
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);
@@ -928,7 +932,8 @@ namespace Ice
{
if(!Environment.HasShutdownStarted)
{
- instance_.logger().warning("object adapter `" + _name + "' has not been deactivated");
+ instance_.initializationData().logger.warning("object adapter `" + _name +
+ "' has not been deactivated");
}
else
{
@@ -939,7 +944,7 @@ namespace Ice
{
if(!Environment.HasShutdownStarted)
{
- instance_.logger().warning("object adapter `" + _name +
+ instance_.initializationData().logger.warning("object adapter `" + _name +
"' deactivation had not been waited for");
}
else
@@ -1005,7 +1010,7 @@ namespace Ice
// Create a reference and return a proxy for this reference.
//
IceInternal.Reference reference =
- instance_.referenceFactory().create(ident, instance_.getDefaultContext(), facet,
+ instance_.referenceFactory().create(ident, instance_.initializationData().defaultContext, facet,
IceInternal.Reference.Mode.ModeTwoway, false, endpoints,
null, instance_.defaultsAndOverrides().
defaultCollocationOptimization);
@@ -1019,7 +1024,7 @@ namespace Ice
// proxy for the reference.
//
IceInternal.Reference reference =
- instance_.referenceFactory().create(ident, instance_.getDefaultContext(), facet,
+ instance_.referenceFactory().create(ident, instance_.initializationData().defaultContext, facet,
IceInternal.Reference.Mode.ModeTwoway,
false, id, null, _locatorInfo,
instance_.defaultsAndOverrides().defaultCollocationOptimization,
diff --git a/cs/src/Ice/OutgoingAsync.cs b/cs/src/Ice/OutgoingAsync.cs
index 11e64ba5da2..f9624ff1051 100755
--- a/cs/src/Ice/OutgoingAsync.cs
+++ b/cs/src/Ice/OutgoingAsync.cs
@@ -374,9 +374,10 @@ namespace IceInternal
if(os__ != null) // Don't print anything if cleanup() was already called.
{
Reference rf = ((Ice.ObjectPrxHelperBase)_proxy).reference__();
- if(rf.getInstance().properties().getPropertyAsIntWithDefault("Ice.Warn.AMICallback", 1) > 0)
+ if(rf.getInstance().initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.AMICallback", 1) > 0)
{
- rf.getInstance().logger().warning("exception raised by AMI callback:\n" + ex);
+ rf.getInstance().initializationData().logger.warning("exception raised by AMI callback:\n" + ex);
}
}
}
diff --git a/cs/src/Ice/ProxyFactory.cs b/cs/src/Ice/ProxyFactory.cs
index f6abcd27e23..f4a04db58b6 100755
--- a/cs/src/Ice/ProxyFactory.cs
+++ b/cs/src/Ice/ProxyFactory.cs
@@ -125,7 +125,7 @@ namespace IceInternal
Debug.Assert(cnt > 0);
TraceLevels traceLevels = instance_.traceLevels();
- Ice.Logger logger = instance_.logger();
+ Ice.Logger logger = instance_.initializationData().logger;
if(cnt > _retryIntervals.Length)
{
@@ -168,7 +168,7 @@ namespace IceInternal
{
instance_ = instance;
- string str = instance_.properties().getPropertyWithDefault("Ice.RetryIntervals", "0");
+ string str = instance_.initializationData().properties.getPropertyWithDefault("Ice.RetryIntervals", "0");
char[] separators = { ' ', '\t', '\n', '\r' };
string[] arr = str.Trim().Split(separators);
diff --git a/cs/src/Ice/Reference.cs b/cs/src/Ice/Reference.cs
index ce27f7235f1..c42b6fbf415 100755
--- a/cs/src/Ice/Reference.cs
+++ b/cs/src/Ice/Reference.cs
@@ -53,7 +53,7 @@ namespace IceInternal
public Reference defaultContext()
{
Reference r = instance_.referenceFactory().copy(this);
- r.context_ = instance_.getDefaultContext();
+ r.context_ = instance_.initializationData().defaultContext;
return r;
}
@@ -1435,13 +1435,12 @@ namespace IceInternal
if(cached)
{
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/cs/src/Ice/ReferenceFactory.cs b/cs/src/Ice/ReferenceFactory.cs
index 117936d8b27..3ba11e80f4e 100755
--- a/cs/src/Ice/ReferenceFactory.cs
+++ b/cs/src/Ice/ReferenceFactory.cs
@@ -401,8 +401,8 @@ namespace IceInternal
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);
}
@@ -442,7 +442,8 @@ namespace IceInternal
throw e2;
}
else if(unknownEndpoints.Count != 0 &&
- instance_.properties().getPropertyAsIntWithDefault("Ice.Warn.Endpoints", 1) > 0)
+ instance_.initializationData().properties.getPropertyAsIntWithDefault(
+ "Ice.Warn.Endpoints", 1) > 0)
{
string msg = "Proxy contains unknown endpoints:";
int sz = unknownEndpoints.Count;
@@ -450,11 +451,11 @@ namespace IceInternal
{
msg += " `" + (string)unknownEndpoints[idx] + "'";
}
- instance_.logger().warning(msg);
+ instance_.initializationData().logger.warning(msg);
}
EndpointI[] ep = (EndpointI[])endpoints.ToArray(typeof(EndpointI));
- return create(ident, instance_.getDefaultContext(), facet, mode, secure, ep, routerInfo,
+ return create(ident, instance_.initializationData().defaultContext, facet, mode, secure, ep, routerInfo,
instance_.defaultsAndOverrides().defaultCollocationOptimization);
}
else if(s[beg] == '@')
@@ -493,8 +494,8 @@ namespace IceInternal
e.str = s;
throw e;
}
- 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);
}
@@ -555,15 +556,16 @@ namespace IceInternal
{
endpoints[i] = instance_.endpointFactoryManager().read(s);
}
- return create(ident, instance_.getDefaultContext(), facet, (Reference.Mode)mode, secure, endpoints,
- routerInfo, instance_.defaultsAndOverrides().defaultCollocationOptimization);
+ return create(ident, instance_.initializationData().defaultContext, facet, (Reference.Mode)mode,
+ secure, endpoints, routerInfo,
+ instance_.defaultsAndOverrides().defaultCollocationOptimization);
}
else
{
endpoints = new EndpointI[0];
adapterId = s.readString();
- return create(ident, instance_.getDefaultContext(), facet, (Reference.Mode)mode, secure, adapterId,
- routerInfo, locatorInfo,
+ return create(ident, instance_.initializationData().defaultContext, facet, (Reference.Mode)mode,
+ secure, adapterId, routerInfo, locatorInfo,
instance_.defaultsAndOverrides().defaultCollocationOptimization,
instance_.defaultsAndOverrides().defaultLocatorCacheTimeout);
}
diff --git a/cs/src/Ice/ServantManager.cs b/cs/src/Ice/ServantManager.cs
index 89fdfdcab56..602e38b0ee2 100755
--- a/cs/src/Ice/ServantManager.cs
+++ b/cs/src/Ice/ServantManager.cs
@@ -237,7 +237,7 @@ public sealed class ServantManager
{
string s = "exception during locator deactivation:\n" + "object adapter: `"
+ _adapterName + "'\n" + "locator category: `" + p.Key + "'\n" + ex;
- instance_.logger().error(s);
+ instance_.initializationData().logger.error(s);
}
}
diff --git a/cs/src/Ice/TcpAcceptor.cs b/cs/src/Ice/TcpAcceptor.cs
index 42b32dbc7aa..b27c2487352 100755
--- a/cs/src/Ice/TcpAcceptor.cs
+++ b/cs/src/Ice/TcpAcceptor.cs
@@ -103,7 +103,7 @@ namespace IceInternal
{
instance_ = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_backlog = 0;
if(_backlog <= 0)
diff --git a/cs/src/Ice/TcpConnector.cs b/cs/src/Ice/TcpConnector.cs
index cc02ed2abf8..b3194920be0 100755
--- a/cs/src/Ice/TcpConnector.cs
+++ b/cs/src/Ice/TcpConnector.cs
@@ -48,7 +48,7 @@ namespace IceInternal
{
instance_ = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_addr = Network.getAddress(host, port);
}
diff --git a/cs/src/Ice/TcpTransceiver.cs b/cs/src/Ice/TcpTransceiver.cs
index 2d5519eebf9..f110966220e 100755
--- a/cs/src/Ice/TcpTransceiver.cs
+++ b/cs/src/Ice/TcpTransceiver.cs
@@ -281,8 +281,8 @@ namespace IceInternal
{
_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/cs/src/Ice/ThreadPool.cs b/cs/src/Ice/ThreadPool.cs
index c8ba68242a0..f6b98f735a3 100755
--- a/cs/src/Ice/ThreadPool.cs
+++ b/cs/src/Ice/ThreadPool.cs
@@ -45,7 +45,7 @@ namespace IceInternal
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
@@ -53,7 +53,7 @@ namespace IceInternal
//
Debug.Assert(!instance_.threadPerConnection());
- string programName = instance_.properties().getProperty("Ice.ProgramName");
+ string programName = instance_.initializationData().properties.getProperty("Ice.ProgramName");
if(programName.Length > 0)
{
_programNamePrefix = programName + "-";
@@ -73,19 +73,20 @@ namespace IceInternal
// possible 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",
+ int sizeWarn = instance_.initializationData().properties.getPropertyAsIntWithDefault(_prefix + ".SizeWarn",
sizeMax * 80 / 100);
size_ = size;
sizeMax_ = sizeMax;
@@ -106,7 +107,7 @@ namespace IceInternal
catch(System.Exception ex)
{
string s = "cannot create thread for `" + _prefix + "':\n" + ex;
- instance_.logger().error(s);
+ instance_.initializationData().logger.error(s);
destroy();
joinWithAllThreads();
@@ -198,7 +199,7 @@ namespace IceInternal
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);
}
Debug.Assert(inUse_ <= running_);
@@ -215,7 +216,7 @@ namespace IceInternal
catch(System.Exception ex)
{
string s = "cannot create thread for `" + _prefix + "':\n" + ex;
- instance_.logger().error(s);
+ instance_.initializationData().logger.error(s);
}
}
}
@@ -531,7 +532,7 @@ namespace IceInternal
{
string s = "exception in `" + _prefix + "' while calling finished():\n"
+ ex + "\n" + handler.ToString();
- instance_.logger().error(s);
+ instance_.initializationData().logger.error(s);
}
//
@@ -577,9 +578,11 @@ namespace IceInternal
{
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 +
+ instance_.initializationData().logger.warning(
+ "datagram connection exception:\n" + ex +
handler.ToString());
}
}
@@ -609,7 +612,7 @@ namespace IceInternal
catch(Ice.LocalException ex)
{
string s = "exception in `" + _prefix + "' while calling message():\n" + ex;
- instance_.logger().error(s);
+ instance_.initializationData().logger.error(s);
}
//
@@ -805,8 +808,8 @@ namespace IceInternal
{
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);
@@ -929,13 +932,13 @@ namespace IceInternal
catch(Ice.LocalException ex)
{
string s = "exception in `" + thread_Pool._prefix + "' thread " + thread_.Name + ":\n" + ex;
- thread_Pool.instance_.logger().error(s);
+ thread_Pool.instance_.initializationData().logger.error(s);
promote = true;
}
catch(System.Exception ex)
{
string s = "unknown exception in `" + thread_Pool._prefix + "' thread " + thread_.Name + ":\n" + ex;
- thread_Pool.instance_.logger().error(s);
+ thread_Pool.instance_.initializationData().logger.error(s);
promote = true;
}
diff --git a/cs/src/Ice/UdpTransceiver.cs b/cs/src/Ice/UdpTransceiver.cs
index 6699fac3f99..001eca54edc 100755
--- a/cs/src/Ice/UdpTransceiver.cs
+++ b/cs/src/Ice/UdpTransceiver.cs
@@ -444,10 +444,10 @@ namespace IceInternal
internal UdpTransceiver(Instance instance, string host, int port)
{
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
- _stats = instance.stats();
+ _logger = instance.initializationData().logger;
+ _stats = instance.initializationData().stats;
_connect = true;
- _warn = instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
try
{
@@ -477,10 +477,10 @@ namespace IceInternal
internal UdpTransceiver(Instance instance, string host, int port, bool connect)
{
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
- _stats = instance.stats();
+ _logger = instance.initializationData().logger;
+ _stats = instance.initializationData().stats;
_connect = connect;
- _warn = instance.properties().getPropertyAsInt("Ice.Warn.Datagrams") > 0;
+ _warn = instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Datagrams") > 0;
_shutdownReadWrite = false;
try
@@ -538,7 +538,8 @@ namespace IceInternal
//
// 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/cs/src/Ice/Util.cs b/cs/src/Ice/Util.cs
index 099d8179a13..8cabb9fdd2f 100755
--- a/cs/src/Ice/Util.cs
+++ b/cs/src/Ice/Util.cs
@@ -11,12 +11,22 @@ namespace Ice
{
using IceInternal;
+ using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Globalization;
+
+ public class InitializationData
+ {
+ public Properties properties;
+ public Logger logger;
+ public Stats stats;
+ public Context defaultContext;
+ }
+
public sealed class Util
{
public static Properties createProperties()
@@ -55,29 +65,47 @@ namespace Ice
public static Communicator initialize(ref string[] args)
{
- Properties defaultProperties = getDefaultProperties(ref args);
- return initializeWithPropertiesAndLogger(ref args, defaultProperties, null);
+ InitializationData initData = new InitializationData();
+ return initialize(ref args, initData);
}
+ public static Communicator initialize(ref string[] args, InitializationData initData)
+ {
+ if(initData.properties == null)
+ {
+ initData.properties = getDefaultProperties(ref args);
+ }
+ args = initData.properties.parseIceCommandLineOptions(args);
+
+ CommunicatorI result = new CommunicatorI(initData);
+ result.finishSetup(ref args);
+ return result;
+ }
+
+ [Obsolete("This method has been deprecated, use initialize instead.")]
public static Communicator initializeWithLogger(ref string[] args, Logger logger)
{
- Properties defaultProperties = getDefaultProperties(ref args);
- return initializeWithPropertiesAndLogger(ref args, defaultProperties, logger);
+ InitializationData initData = new InitializationData();
+ initData.logger = logger;
+ return initialize(ref args, initData);
}
+ [Obsolete("This method has been deprecated, use initialize instead.")]
public static Communicator initializeWithProperties(ref string[] args, Properties properties)
{
- return initializeWithPropertiesAndLogger(ref args, properties, null);
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ return initialize(ref args, initData);
}
+ [Obsolete("This method has been deprecated, use initialize instead.")]
public static Communicator initializeWithPropertiesAndLogger(ref string[] args, Properties properties,
Ice.Logger logger)
{
- args = properties.parseIceCommandLineOptions(args);
-
- CommunicatorI result = new CommunicatorI(properties, logger);
- result.finishSetup(ref args);
- return result;
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ initData.logger = logger;
+ return initialize(ref args, initData);
}
public static IceInternal.Instance getInstance(Communicator communicator)
diff --git a/cs/src/IceBox/ServiceManagerI.cs b/cs/src/IceBox/ServiceManagerI.cs
index 2bc01796806..4496d27e31f 100644
--- a/cs/src/IceBox/ServiceManagerI.cs
+++ b/cs/src/IceBox/ServiceManagerI.cs
@@ -365,7 +365,9 @@ class ServiceManagerI : IceBox.ServiceManagerDisp_
serviceArgs = serviceProperties.parseIceCommandLineOptions(serviceArgs);
serviceArgs = serviceProperties.parseCommandLineOptions(service, serviceArgs);
- info.communicator = Ice.Util.initializeWithProperties(ref serviceArgs, serviceProperties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = serviceProperties;
+ info.communicator = Ice.Util.initialize(ref serviceArgs, initData);
}
Ice.Communicator communicator = info.communicator != null ? info.communicator :
diff --git a/cs/test/Ice/binding/Server.cs b/cs/test/Ice/binding/Server.cs
index b9c3e197d06..e8ad70047d5 100755
--- a/cs/test/Ice/binding/Server.cs
+++ b/cs/test/Ice/binding/Server.cs
@@ -28,9 +28,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties(ref args);
- properties.setProperty("Ice.ServerIdleTime", "30");
- communicator = Ice.Util.initializeWithProperties(ref args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(ref args);
+ initData.properties.setProperty("Ice.ServerIdleTime", "30");
+ communicator = Ice.Util.initialize(ref args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/cs/test/Ice/exceptions/Server.cs b/cs/test/Ice/exceptions/Server.cs
index 1eba06761c9..e4cbdc7e591 100755
--- a/cs/test/Ice/exceptions/Server.cs
+++ b/cs/test/Ice/exceptions/Server.cs
@@ -30,12 +30,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");
@@ -55,7 +49,13 @@ public class Server
try
{
- communicator = Ice.Util.initialize(ref 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(ref args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/cs/test/Ice/location/Client.cs b/cs/test/Ice/location/Client.cs
index 2b724f6a239..cd145197750 100755
--- a/cs/test/Ice/location/Client.cs
+++ b/cs/test/Ice/location/Client.cs
@@ -22,9 +22,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties(ref args);
- properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
- communicator = Ice.Util.initializeWithProperties(ref args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(ref args);
+ initData.properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
+ communicator = Ice.Util.initialize(ref args, initData);
status = run(args, communicator);
}
catch(System.Exception ex)
diff --git a/cs/test/Ice/operations/Collocated.cs b/cs/test/Ice/operations/Collocated.cs
index d3e4fef938c..21ff52ebf83 100755
--- a/cs/test/Ice/operations/Collocated.cs
+++ b/cs/test/Ice/operations/Collocated.cs
@@ -18,6 +18,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);
@@ -33,6 +34,7 @@ public class Collocated
{
Ice.Properties properties = Ice.Util.getDefaultProperties();
properties.setProperty("Ice.ThreadPool.Client.Size", "2"); // For nested AMI.
+ properties.setProperty("Ice.ThreadPool.Client.SizeWarn", "0");
communicator = Ice.Util.initialize(ref args);
status = run(args, communicator);
diff --git a/cs/test/Ice/operations/Twoways.cs b/cs/test/Ice/operations/Twoways.cs
index b7032300a00..4053f0f78a5 100755
--- a/cs/test/Ice/operations/Twoways.cs
+++ b/cs/test/Ice/operations/Twoways.cs
@@ -574,69 +574,57 @@ class Twoways
}
{
- Ice.Context ctx = new Ice.Context();
- ctx["one"] = "ONE";
- ctx["two"] = "TWO";
- ctx["three"] = "THREE";
{
- test(p.ice_getContext().Count == 0);
- Ice.Context r = p.opContext();
- test(!r.Equals(ctx));
- }
- {
- Ice.Context r = p.opContext(ctx);
- test(p.ice_getContext().Count == 0);
- test(r.Equals(ctx));
- }
- {
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
- test(p2.ice_getContext().Equals(ctx));
- Ice.Context r = p2.opContext();
- test(r.Equals(ctx));
- r = p2.opContext(ctx);
- test(r.Equals(ctx));
+ Ice.Context ctx = new Ice.Context();
+ ctx["one"] = "ONE";
+ ctx["two"] = "TWO";
+ ctx["three"] = "THREE";
+ {
+ test(p.ice_getContext().Count == 0);
+ Ice.Context r = p.opContext();
+ test(!r.Equals(ctx));
+ }
+ {
+ Ice.Context r = p.opContext(ctx);
+ test(p.ice_getContext().Count == 0);
+ test(r.Equals(ctx));
+ }
+ {
+ Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
+ test(p2.ice_getContext().Equals(ctx));
+ Ice.Context r = p2.opContext();
+ test(r.Equals(ctx));
+ r = p2.opContext(ctx);
+ test(r.Equals(ctx));
+ }
}
{
//
// Test that default context is obtained correctly from communicator.
//
- Ice.Context dflt = new Ice.Context();
- dflt["a"] = "b";
- communicator.setDefaultContext(dflt);
- test(!p.opContext().Equals(dflt));
-
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_context(new Ice.Context()));
- test(p2.opContext().Count == 0);
-
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_defaultContext());
- test(p2.opContext().Equals(dflt));
+ string[] args = new string[0];
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.defaultContext = new Ice.Context();
+ initData.defaultContext["a"] = "b";
+ Ice.Communicator communicator2 = Ice.Util.initialize(ref args, initData);
- communicator.setDefaultContext(new Ice.Context());
- test(p2.opContext().Count != 0);
-
- communicator.setDefaultContext(dflt);
Test.MyClassPrx c = Test.MyClassPrxHelper.checkedCast(
- communicator.stringToProxy("test:default -p 12010 -t 10000"));
- test(c.opContext().Equals(dflt));
-
- dflt["a"] = "c";
- Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(dflt));
+ communicator2.stringToProxy("test:default -p 12010 -t 10000"));
+ test(c.opContext().Equals(initData.defaultContext));
+
+ Ice.Context ctx = new Ice.Context();
+ ctx["a"] = "c";
+ Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(ctx));
test(c2.opContext()["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()["a"] == null);
Test.MyClassPrx c4 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_defaultContext());
test(c4.opContext()["a"].Equals("b"));
- dflt["a"] = "d";
- communicator.setDefaultContext(dflt);
-
- Test.MyClassPrx c5 = Test.MyClassPrxHelper.uncheckedCast(c2.ice_defaultContext());
- test(c5.opContext()["a"].Equals("d"));
-
- communicator.setDefaultContext(new Ice.Context());
+ communicator2.destroy();
}
}
}
diff --git a/cs/test/Ice/operations/TwowaysAMI.cs b/cs/test/Ice/operations/TwowaysAMI.cs
index 4823fc8377b..ffee2e390ad 100755
--- a/cs/test/Ice/operations/TwowaysAMI.cs
+++ b/cs/test/Ice/operations/TwowaysAMI.cs
@@ -1254,71 +1254,49 @@ public class TwowaysAMI
}
{
- Ice.Context ctx = new Ice.Context();
- ctx["one"] = "ONE";
- ctx["two"] = "TWO";
- ctx["three"] = "THREE";
- {
- test(p.ice_getContext().Count == 0);
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(ctx);
- p.opContext_async(cb);
- test(cb.check());
- }
- {
- test(p.ice_getContext().Count == 0);
- 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());
- }
+ {
+ Ice.Context ctx = new Ice.Context();
+ ctx["one"] = "ONE";
+ ctx["two"] = "TWO";
+ ctx["three"] = "THREE";
+ {
+ test(p.ice_getContext().Count == 0);
+ AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(ctx);
+ p.opContext_async(cb);
+ test(cb.check());
+ }
+ {
+ test(p.ice_getContext().Count == 0);
+ 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.
//
- Ice.Context dflt = new Ice.Context();
- dflt["a"] = "b";
- communicator.setDefaultContext(dflt);
- {
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(dflt);
- p.opContext_async(cb);
- test(cb.check());
- }
-
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_context(new Ice.Context()));
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(new Ice.Context());
- p2.opContext_async(cb);
- test(cb.check());
- }
-
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_defaultContext());
- {
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(dflt);
- p2.opContext_async(cb);
- test(cb.check());
- }
-
- communicator.setDefaultContext(new Ice.Context());
- {
- AMI_MyClass_opContextNotEqualI cb = new AMI_MyClass_opContextNotEqualI(new Ice.Context());
- p2.opContext_async(cb);
- test(cb.check());
- }
+ string[] args = new string[0];
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.defaultContext = new Ice.Context();
+ initData.defaultContext["a"] = "b";
+ Ice.Communicator communicator2 = Ice.Util.initialize(ref args, 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"));
{
Ice.Context tmp = new Ice.Context();
tmp["a"] = "b";
@@ -1327,8 +1305,9 @@ public class TwowaysAMI
test(cb.check());
}
- dflt["a"] = "c";
- Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(dflt));
+ Ice.Context ctx = new Ice.Context();
+ ctx["a"] = "c";
+ Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(ctx));
{
Ice.Context tmp = new Ice.Context();
tmp["a"] = "c";
@@ -1337,8 +1316,8 @@ public 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));
{
Ice.Context tmp = new Ice.Context();
AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(tmp);
@@ -1355,19 +1334,7 @@ public class TwowaysAMI
test(cb.check());
}
- dflt["a"] = "d";
- communicator.setDefaultContext(dflt);
-
- Test.MyClassPrx c5 = Test.MyClassPrxHelper.uncheckedCast(c.ice_defaultContext());
- {
- Ice.Context tmp = new Ice.Context();
- tmp["a"] = "d";
- AMI_MyClass_opContextEqualI cb = new AMI_MyClass_opContextEqualI(tmp);
- c5.opContext_async(cb);
- test(cb.check());
- }
-
- communicator.setDefaultContext(new Ice.Context());
+ communicator2.destroy();
}
}
diff --git a/cs/test/Ice/timeout/AllTests.cs b/cs/test/Ice/timeout/AllTests.cs
index 795a57a6ced..86cefdcde87 100644
--- a/cs/test/Ice/timeout/AllTests.cs
+++ b/cs/test/Ice/timeout/AllTests.cs
@@ -325,9 +325,10 @@ public class AllTests
// endpoint timeouts.
//
string[] args = new string[0];
- Ice.Properties props = communicator.getProperties().ice_clone_();
- props.setProperty("Ice.Override.Timeout", "500");
- Ice.Communicator comm = Ice.Util.initializeWithProperties(ref args, props);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties().ice_clone_();
+ initData.properties.setProperty("Ice.Override.Timeout", "500");
+ Ice.Communicator comm = Ice.Util.initialize(ref args, initData);
Test.TimeoutPrx to = Test.TimeoutPrxHelper.checkedCast(comm.stringToProxy(sref));
try
{
@@ -359,9 +360,10 @@ public class AllTests
// Test Ice.Override.ConnectTimeout.
//
string[] args = new string[0];
- Ice.Properties props = communicator.getProperties().ice_clone_();
- props.setProperty("Ice.Override.ConnectTimeout", "500");
- Ice.Communicator comm = Ice.Util.initializeWithProperties(ref args, props);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = communicator.getProperties().ice_clone_();
+ initData.properties.setProperty("Ice.Override.ConnectTimeout", "500");
+ Ice.Communicator comm = Ice.Util.initialize(ref args, initData);
timeout.holdAdapter(750);
Test.TimeoutPrx to = Test.TimeoutPrxHelper.uncheckedCast(comm.stringToProxy(sref));
try
diff --git a/javae/CHANGES b/javae/CHANGES
index 49d84a698ff..056b09999b8 100755
--- a/javae/CHANGES
+++ b/javae/CHANGES
@@ -1,6 +1,13 @@
Changes since version 1.1.0
---------------------------
+- 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, and default context. The initializeWith
+ communicator initialization functions have been deprecated and the
+ setLogger() and setDefaultContext() methods have been removed.
+
- Added requestId to Current.
Changes since version 1.0.0
diff --git a/javae/demo/IceE/jdk/bidir/Client.java b/javae/demo/IceE/jdk/bidir/Client.java
index 7ef7cd7a724..a1f36b5cb10 100755
--- a/javae/demo/IceE/jdk/bidir/Client.java
+++ b/javae/demo/IceE/jdk/bidir/Client.java
@@ -52,9 +52,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/bidir/Server.java b/javae/demo/IceE/jdk/bidir/Server.java
index 2e4086a280b..fe5052b6512 100755
--- a/javae/demo/IceE/jdk/bidir/Server.java
+++ b/javae/demo/IceE/jdk/bidir/Server.java
@@ -49,9 +49,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/callback/Client.java b/javae/demo/IceE/jdk/callback/Client.java
index f08531130f4..d3b1f403cb2 100644
--- a/javae/demo/IceE/jdk/callback/Client.java
+++ b/javae/demo/IceE/jdk/callback/Client.java
@@ -128,9 +128,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/callback/Server.java b/javae/demo/IceE/jdk/callback/Server.java
index 166c2ba3305..d118d3e2430 100644
--- a/javae/demo/IceE/jdk/callback/Server.java
+++ b/javae/demo/IceE/jdk/callback/Server.java
@@ -29,9 +29,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/chat/Client.java b/javae/demo/IceE/jdk/chat/Client.java
index 30b27b66e81..b6ad2239952 100644
--- a/javae/demo/IceE/jdk/chat/Client.java
+++ b/javae/demo/IceE/jdk/chat/Client.java
@@ -161,9 +161,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/hello/Client.java b/javae/demo/IceE/jdk/hello/Client.java
index 40f56413736..f95a173cec0 100644
--- a/javae/demo/IceE/jdk/hello/Client.java
+++ b/javae/demo/IceE/jdk/hello/Client.java
@@ -146,9 +146,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/hello/Server.java b/javae/demo/IceE/jdk/hello/Server.java
index 6227b802e0b..93b6270bbf7 100644
--- a/javae/demo/IceE/jdk/hello/Server.java
+++ b/javae/demo/IceE/jdk/hello/Server.java
@@ -30,9 +30,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/latency/Client.java b/javae/demo/IceE/jdk/latency/Client.java
index 2459ebb4e4e..a50504319cd 100644
--- a/javae/demo/IceE/jdk/latency/Client.java
+++ b/javae/demo/IceE/jdk/latency/Client.java
@@ -60,9 +60,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/latency/Server.java b/javae/demo/IceE/jdk/latency/Server.java
index 36096eab205..2e8a1008ea4 100644
--- a/javae/demo/IceE/jdk/latency/Server.java
+++ b/javae/demo/IceE/jdk/latency/Server.java
@@ -30,9 +30,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/throughput/Client.java b/javae/demo/IceE/jdk/throughput/Client.java
index 8cd074c98f7..04b4a37b22b 100644
--- a/javae/demo/IceE/jdk/throughput/Client.java
+++ b/javae/demo/IceE/jdk/throughput/Client.java
@@ -425,9 +425,10 @@ public class Client
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/jdk/throughput/Server.java b/javae/demo/IceE/jdk/throughput/Server.java
index 28067175b43..803775d9b0e 100644
--- a/javae/demo/IceE/jdk/throughput/Server.java
+++ b/javae/demo/IceE/jdk/throughput/Server.java
@@ -40,9 +40,10 @@ public class Server
try
{
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load("config");
- communicator = Ice.Util.initializeWithProperties(args, properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load("config");
+ communicator = Ice.Util.initialize(args, initData);
status = run(args, communicator);
}
catch(Ice.LocalException ex)
diff --git a/javae/demo/IceE/midp/hello/ClientMIDlet.java b/javae/demo/IceE/midp/hello/ClientMIDlet.java
index cedc483dc2f..7c2568077df 100644
--- a/javae/demo/IceE/midp/hello/ClientMIDlet.java
+++ b/javae/demo/IceE/midp/hello/ClientMIDlet.java
@@ -35,9 +35,10 @@ public class ClientMIDlet
startApp()
{
java.io.InputStream is = getClass().getResourceAsStream("config");
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load(is);
- _communicator = Ice.Util.initializeWithProperties(new String[0], properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load(is);
+ _communicator = Ice.Util.initialize(new String[0], initData);
if(_display == null)
{
diff --git a/javae/demo/IceE/midp/hello/ServerMIDlet.java b/javae/demo/IceE/midp/hello/ServerMIDlet.java
index 803d3637536..e790283dedf 100644
--- a/javae/demo/IceE/midp/hello/ServerMIDlet.java
+++ b/javae/demo/IceE/midp/hello/ServerMIDlet.java
@@ -69,9 +69,10 @@ public class ServerMIDlet
startApp()
{
java.io.InputStream is = getClass().getResourceAsStream("config");
- Ice.Properties properties = Ice.Util.createProperties();
- properties.load(is);
- _communicator = Ice.Util.initializeWithProperties(new String[0], properties);
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties();
+ initData.properties.load(is);
+ _communicator = Ice.Util.initialize(new String[0], initData);
if(_display == null)
{
diff --git a/javae/jdk/IceInternal/Acceptor.java b/javae/jdk/IceInternal/Acceptor.java
index 340dd9a03be..04893261f34 100644
--- a/javae/jdk/IceInternal/Acceptor.java
+++ b/javae/jdk/IceInternal/Acceptor.java
@@ -122,7 +122,7 @@ class Acceptor
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_backlog = 0;
if(_backlog <= 0)
diff --git a/javae/jdk/IceInternal/Connector.java b/javae/jdk/IceInternal/Connector.java
index 5ab107761c7..0f2b5b9932a 100644
--- a/javae/jdk/IceInternal/Connector.java
+++ b/javae/jdk/IceInternal/Connector.java
@@ -185,7 +185,7 @@ final class Connector
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_addr = Network.getAddress(host, port);
}
diff --git a/javae/jdk/IceInternal/Transceiver.java b/javae/jdk/IceInternal/Transceiver.java
index 47f0482bb4e..7bd0354de4e 100644
--- a/javae/jdk/IceInternal/Transceiver.java
+++ b/javae/jdk/IceInternal/Transceiver.java
@@ -235,7 +235,7 @@ final public class Transceiver
{
_fd = fd;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_desc = Network.fdToString(_fd);
try
{
diff --git a/javae/midp/IceInternal/Acceptor.java b/javae/midp/IceInternal/Acceptor.java
index 6ad48dbc8b6..48e66956627 100755
--- a/javae/midp/IceInternal/Acceptor.java
+++ b/javae/midp/IceInternal/Acceptor.java
@@ -138,7 +138,7 @@ class Acceptor
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_backlog = 0;
if(_backlog <= 0)
diff --git a/javae/midp/IceInternal/Connector.java b/javae/midp/IceInternal/Connector.java
index a0acfeee2fe..cfc24922340 100755
--- a/javae/midp/IceInternal/Connector.java
+++ b/javae/midp/IceInternal/Connector.java
@@ -190,7 +190,7 @@ final class Connector
{
_instance = instance;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_url = "socket://" + host + ':' + port;
}
diff --git a/javae/midp/IceInternal/Transceiver.java b/javae/midp/IceInternal/Transceiver.java
index 09dab58d444..8cfbab34226 100755
--- a/javae/midp/IceInternal/Transceiver.java
+++ b/javae/midp/IceInternal/Transceiver.java
@@ -442,7 +442,7 @@ final public class Transceiver
{
_connection = (javax.microedition.io.SocketConnection)connection;
_traceLevels = instance.traceLevels();
- _logger = instance.logger();
+ _logger = instance.initializationData().logger;
_desc = Network.toString(_connection);
try
{
diff --git a/javae/src/Ice/Communicator.java b/javae/src/Ice/Communicator.java
index 44ddab29cec..c56b308fabe 100644
--- a/javae/src/Ice/Communicator.java
+++ b/javae/src/Ice/Communicator.java
@@ -56,19 +56,13 @@ public final class 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 RouterPrx
@@ -98,13 +92,7 @@ public final class Communicator
public java.util.Hashtable
getDefaultContext()
{
- return _instance.getDefaultContext();
- }
-
- public void
- setDefaultContext(java.util.Hashtable ctx)
- {
- _instance.setDefaultContext(ctx);
+ return _instance.initializationData().defaultContext;
}
public void
@@ -113,9 +101,9 @@ public final class Communicator
_instance.flushBatchRequests();
}
- Communicator(Properties properties)
+ Communicator(InitializationData initData)
{
- _instance = new IceInternal.Instance(this, properties);
+ _instance = new IceInternal.Instance(this, initData);
}
//
diff --git a/javae/src/Ice/Connection.java b/javae/src/Ice/Connection.java
index b83d87c3080..e7b88ecbe16 100644
--- a/javae/src/Ice/Connection.java
+++ b/javae/src/Ice/Connection.java
@@ -830,9 +830,9 @@ public final class Connection
_desc = transceiver.toString();
_type = transceiver.type();
_endpoint = endpoint;
- _logger = instance.logger(); // Cached for better performance.
+ _logger = instance.initializationData().logger; // Cached for better performance.
_traceLevels = instance.traceLevels(); // Cached for better performance.
- _warn = _instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
+ _warn = _instance.initializationData().properties.getPropertyAsInt("Ice.Warn.Connections") > 0 ? true : false;
_nextRequestId = 1;
_batchStream = new IceInternal.BasicStream(instance);
_batchStreamInUse = false;
@@ -840,7 +840,7 @@ public final class Connection
_dispatchCount = 0;
_state = StateNotValidated;
_stateTime = System.currentTimeMillis();
- _blocking = _instance.properties().getPropertyAsInt("Ice.Blocking") > 0 && adapter == null;
+ _blocking = _instance.initializationData().properties.getPropertyAsInt("Ice.Blocking") > 0 && adapter == null;
_stream = new IceInternal.BasicStream(_instance);
_in = new IceInternal.Incoming(_instance, this, _stream, adapter);
@@ -864,7 +864,7 @@ public final class Connection
ex.printStackTrace();
String s = "cannot create thread for connection:\n";;
s += ex.toString();
- _instance.logger().error(s);
+ _logger.error(s);
try
{
diff --git a/javae/src/Ice/InitializationData.java b/javae/src/Ice/InitializationData.java
new file mode 100644
index 00000000000..ad0363e281e
--- /dev/null
+++ b/javae/src/Ice/InitializationData.java
@@ -0,0 +1,22 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice-E is licensed to you under the terms described in the
+// ICEE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package Ice;
+
+public final class InitializationData
+{
+ public
+ InitializationData()
+ {
+ }
+
+ public Properties properties;
+ public Logger logger;
+ public java.util.Hashtable defaultContext;
+}
diff --git a/javae/src/Ice/ObjectAdapter.java b/javae/src/Ice/ObjectAdapter.java
index f7efb418be1..51b1b2a820e 100644
--- a/javae/src/Ice/ObjectAdapter.java
+++ b/javae/src/Ice/ObjectAdapter.java
@@ -41,7 +41,8 @@ public final class ObjectAdapter
if(!_printAdapterReadyDone)
{
locatorInfo = _locatorInfo;
- printAdapterReady = _instance.properties().getPropertyAsInt("Ice.PrintAdapterReady") > 0;
+ printAdapterReady =
+ _instance.initializationData().properties.getPropertyAsInt("Ice.PrintAdapterReady") > 0;
_printAdapterReadyDone = true;
}
@@ -672,8 +673,8 @@ public final class ObjectAdapter
_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;
@@ -696,16 +697,16 @@ public final class ObjectAdapter
// Parse published endpoints. 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);
- 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)));
@@ -729,11 +730,12 @@ public final class ObjectAdapter
{
if(!_deactivated)
{
- _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)
{
- _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/javae/src/Ice/Util.java b/javae/src/Ice/Util.java
index 4ed351234c1..09a58857c96 100644
--- a/javae/src/Ice/Util.java
+++ b/javae/src/Ice/Util.java
@@ -60,8 +60,8 @@ public final class Util
public static Communicator
initialize(StringSeqHolder args)
{
- Properties properties = getDefaultProperties(args);
- return initializeWithProperties(args, properties);
+ InitializationData initData = new InitializationData();
+ return initialize(args, initData);
}
public static Communicator
@@ -72,20 +72,46 @@ public final class Util
}
public static Communicator
- initializeWithProperties(StringSeqHolder args, Properties properties)
+ initialize(StringSeqHolder args, InitializationData initData)
{
- args.value = properties.parseIceCommandLineOptions(args.value);
+ if(initData.properties == null)
+ {
+ initData.properties = getDefaultProperties(args);
+ }
+ args.value = initData.properties.parseIceCommandLineOptions(args.value);
- Communicator result = new Communicator(properties);
+ Communicator result = new Communicator(initData);
result.finishSetup(args);
return result;
}
public static Communicator
- initializeWithProperties(String[] args, Properties properties)
+ initialize(String[] args, InitializationData initData)
{
StringSeqHolder argsH = new StringSeqHolder(args);
- return initializeWithProperties(argsH, properties);
+ return initialize(argsH, initData);
+ }
+
+ /**
+ * @deprecated This method has been deprecated, use initialize instead.
+ **/
+ public static Communicator
+ initializeWithProperties(StringSeqHolder args, Properties properties)
+ {
+ 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)
+ {
+ InitializationData initData = new InitializationData();
+ initData.properties = properties;
+ return initialize(args, initData);
}
public static IceInternal.Instance
diff --git a/javae/src/IceInternal/BasicStream.java b/javae/src/IceInternal/BasicStream.java
index d23f5ecda18..fda02df2558 100644
--- a/javae/src/IceInternal/BasicStream.java
+++ b/javae/src/IceInternal/BasicStream.java
@@ -1365,7 +1365,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);
@@ -1375,7 +1375,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/javae/src/IceInternal/Incoming.java b/javae/src/IceInternal/Incoming.java
index 60d14c643c8..f525ac5016a 100644
--- a/javae/src/IceInternal/Incoming.java
+++ b/javae/src/IceInternal/Incoming.java
@@ -150,7 +150,7 @@ final public class Incoming
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);
}
@@ -208,7 +208,7 @@ final public class Incoming
{
_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);
}
@@ -232,7 +232,7 @@ final public class Incoming
{
_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);
}
@@ -256,7 +256,7 @@ final public class Incoming
{
_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);
}
@@ -280,7 +280,7 @@ final public class Incoming
{
_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);
}
@@ -315,7 +315,7 @@ final public class Incoming
{
_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);
}
@@ -425,7 +425,7 @@ final public class Incoming
sb.append("\noperation: " + _current.operation);
sb.append("\n");
sb.append(ex.toString());
- _os.instance().logger().warning(sb.toString());
+ _os.instance().initializationData().logger.warning(sb.toString());
}
//
diff --git a/javae/src/IceInternal/IncomingConnectionFactory.java b/javae/src/IceInternal/IncomingConnectionFactory.java
index 21ab2ce7072..4143e5f3173 100644
--- a/javae/src/IceInternal/IncomingConnectionFactory.java
+++ b/javae/src/IceInternal/IncomingConnectionFactory.java
@@ -208,7 +208,7 @@ public final class IncomingConnectionFactory
_instance = instance;
_endpoint = endpoint;
_adapter = adapter;
- _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();
@@ -401,14 +401,14 @@ public final class IncomingConnectionFactory
warning(Ice.LocalException ex)
{
String s = "connection exception:\n" + ex.toString() + '\n' + _acceptor.toString();
- _instance.logger().warning(s);
+ _instance.initializationData().logger.warning(s);
}
public void
error(String msg, Exception ex)
{
String s = msg + ":\n" + toString() + ex.toString();
- _instance.logger().error(s);
+ _instance.initializationData().logger.error(s);
}
public void
diff --git a/javae/src/IceInternal/IndirectReference.java b/javae/src/IceInternal/IndirectReference.java
index 509fe614d70..ce0ad959a33 100644
--- a/javae/src/IceInternal/IndirectReference.java
+++ b/javae/src/IceInternal/IndirectReference.java
@@ -170,13 +170,11 @@ 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/javae/src/IceInternal/Instance.java b/javae/src/IceInternal/Instance.java
index 323ad934ebf..6c4e5949955 100644
--- a/javae/src/IceInternal/Instance.java
+++ b/javae/src/IceInternal/Instance.java
@@ -11,37 +11,16 @@ package IceInternal;
public 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;
+ return _initData;
}
public TraceLevels
@@ -149,49 +128,6 @@ public class Instance
}
public void
- setDefaultContext(java.util.Hashtable ctx)
- {
- if(ctx == null || ctx.isEmpty())
- {
- _defaultContext = _emptyContext;
- }
- else
- {
- _defaultContext = new java.util.Hashtable(ctx.size());
- java.util.Enumeration e = ctx.keys();
- while(e.hasMoreElements())
- {
- java.lang.Object key = e.nextElement();
- _defaultContext.put(key, ctx.get(key));
- }
- }
- }
-
- public java.util.Hashtable
- getDefaultContext()
- {
- //
- // JDK 1.1 raises IllegalArgumentException if we pass 0 as the initial capacity.
- //
- if(_defaultContext.isEmpty())
- {
- return new java.util.Hashtable();
- }
- else
- {
- java.util.Hashtable result = new java.util.Hashtable(_defaultContext.size());
- java.util.Enumeration e = _defaultContext.keys();
- while(e.hasMoreElements())
- {
- java.lang.Object key = e.nextElement();
- java.lang.Object value = _defaultContext.get(key);
- result.put(key, value);
- }
- return result;
- }
- }
-
- public void
flushBatchRequests()
{
OutgoingConnectionFactory connectionFactory;
@@ -216,25 +152,28 @@ public class Instance
// Only for use by Ice.Communicator
//
public
- Instance(Ice.Communicator communicator, Ice.Properties properties)
+ Instance(Ice.Communicator communicator, Ice.InitializationData initData)
{
_state = StateActive;
- _properties = properties;
+ _initData = initData;
try
{
- _logger = new Ice.LoggerI(_properties.getProperty("Ice.ProgramName"),
- _properties.getPropertyAsInt("Ice.Logger.Timestamp") > 0);
+ if(_initData.logger == null)
+ {
+ _initData.logger = new Ice.LoggerI(_initData.properties.getProperty("Ice.ProgramName"),
+ _initData.properties.getPropertyAsInt("Ice.Logger.Timestamp") > 0);
+ }
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.
@@ -250,7 +189,7 @@ public class Instance
}
{
- int stackSize = _properties.getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
+ int stackSize = _initData.properties.getPropertyAsInt("Ice.ThreadPerConnection.StackSize");
if(stackSize < 0)
{
stackSize = 0;
@@ -268,7 +207,10 @@ public class Instance
_endpointFactory = new EndpointFactory(this);
- _defaultContext = _emptyContext;
+ if(_initData.defaultContext == null)
+ {
+ _initData.defaultContext = _emptyContext;
+ }
_outgoingConnectionFactory = new OutgoingConnectionFactory(this);
@@ -406,7 +348,7 @@ public class Instance
validatePackages()
{
final String prefix = "Ice.Package.";
- java.util.Hashtable map = _properties.getPropertiesForPrefix(prefix);
+ java.util.Hashtable map = _initData.properties.getPropertiesForPrefix(prefix);
java.util.Enumeration p = map.keys();
while(p.hasMoreElements())
{
@@ -414,7 +356,7 @@ public class Instance
String pkg = (String)map.get(key);
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";
@@ -424,7 +366,7 @@ public class Instance
}
catch(java.lang.Exception ex)
{
- _logger.warning("unable to validate package: " + key + "=" + pkg);
+ _initData.logger.warning("unable to validate package: " + key + "=" + pkg);
}
}
}
@@ -434,8 +376,7 @@ public 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 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().
@@ -447,7 +388,6 @@ public class Instance
private ObjectAdapterFactory _objectAdapterFactory;
private final int _threadPerConnectionStackSize;
private EndpointFactory _endpointFactory;
- private java.util.Hashtable _defaultContext;
private static java.util.Hashtable _emptyContext = new java.util.Hashtable();
private static boolean _oneOffDone = false;
diff --git a/javae/src/IceInternal/LocatorInfo.java b/javae/src/IceInternal/LocatorInfo.java
index 1639b1f1549..08ad865d3a0 100644
--- a/javae/src/IceInternal/LocatorInfo.java
+++ b/javae/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/javae/src/IceInternal/OutgoingConnectionFactory.java b/javae/src/IceInternal/OutgoingConnectionFactory.java
index 04bf8818fb7..61e4e82692f 100644
--- a/javae/src/IceInternal/OutgoingConnectionFactory.java
+++ b/javae/src/IceInternal/OutgoingConnectionFactory.java
@@ -322,7 +322,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/javae/src/IceInternal/ProxyFactory.java b/javae/src/IceInternal/ProxyFactory.java
index c1b6633f29b..21ecc721ca2 100644
--- a/javae/src/IceInternal/ProxyFactory.java
+++ b/javae/src/IceInternal/ProxyFactory.java
@@ -137,7 +137,7 @@ public final class ProxyFactory
IceUtil.Debug.Assert(cnt > 0);
TraceLevels traceLevels = _instance.traceLevels();
- Ice.Logger logger = _instance.logger();
+ Ice.Logger logger = _instance.initializationData().logger;
if(cnt > _retryIntervals.length)
{
@@ -186,7 +186,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 = IceUtil.StringUtil.split(str.trim(), " \t\n\r");
diff --git a/javae/src/IceInternal/Reference.java b/javae/src/IceInternal/Reference.java
index f482ab14d52..b7de4b1dc60 100644
--- a/javae/src/IceInternal/Reference.java
+++ b/javae/src/IceInternal/Reference.java
@@ -58,7 +58,7 @@ public abstract class Reference
defaultContext()
{
Reference r = _instance.referenceFactory().copy(this);
- r._context = _instance.getDefaultContext();
+ r._context = _instance.initializationData().defaultContext;
return r;
}
diff --git a/javae/src/IceInternal/ReferenceFactory.java b/javae/src/IceInternal/ReferenceFactory.java
index a18457c7bcf..32f98d80de4 100644
--- a/javae/src/IceInternal/ReferenceFactory.java
+++ b/javae/src/IceInternal/ReferenceFactory.java
@@ -383,7 +383,8 @@ public final class ReferenceFactory
if(beg == -1)
{
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, "", routerInfo, locatorInfo);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, "", routerInfo,
+ locatorInfo);
}
java.util.Vector endpoints = new java.util.Vector();
@@ -421,7 +422,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.Enumeration e = unknownEndpoints.elements();
@@ -429,12 +430,12 @@ public final class ReferenceFactory
{
msg += " `" + (String)e.nextElement() + "'";
}
- _instance.logger().warning(msg);
+ _instance.initializationData().logger.warning(msg);
}
Endpoint[] endp = new Endpoint[endpoints.size()];
endpoints.copyInto(endp);
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, endp, routerInfo);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endp, routerInfo);
}
else if(s.charAt(beg) == '@')
{
@@ -474,7 +475,8 @@ public final class ReferenceFactory
throw e;
}
adapter = token.value;
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, adapter, routerInfo, locatorInfo);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, adapter,
+ routerInfo, locatorInfo);
}
Ice.ProxyParseException ex = new Ice.ProxyParseException();
@@ -535,13 +537,15 @@ public final class ReferenceFactory
{
endpoints[i] = _instance.endpointFactory().read(s);
}
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, endpoints, routerInfo);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, endpoints,
+ routerInfo);
}
else
{
endpoints = new Endpoint[0];
adapterId = s.readString();
- return create(ident, _instance.getDefaultContext(), facet, mode, secure, adapterId, routerInfo, locatorInfo);
+ return create(ident, _instance.initializationData().defaultContext, facet, mode, secure, adapterId,
+ routerInfo, locatorInfo);
}
}
diff --git a/javae/test/IceE/exceptions/Collocated.java b/javae/test/IceE/exceptions/Collocated.java
index 9028b38dc08..6a70eed389a 100644
--- a/javae/test/IceE/exceptions/Collocated.java
+++ b/javae/test/IceE/exceptions/Collocated.java
@@ -12,12 +12,6 @@ public class Collocated
public static int
run(String[] args, Ice.Communicator communicator, java.io.PrintStream out)
{
- //
- // For this test, we need a dummy logger, otherwise the
- // assertion test will print an error message.
- //
- communicator.setLogger(new DummyLogger());
-
communicator.getProperties().setProperty("Test.Proxy", "thrower:default -p 12010 -t 10000");
communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000");
Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter");
@@ -38,7 +32,13 @@ public class Collocated
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, System.out);
}
catch(Ice.LocalException ex)
diff --git a/javae/test/IceE/exceptions/Server.java b/javae/test/IceE/exceptions/Server.java
index e5166113eea..c3e26811ada 100644
--- a/javae/test/IceE/exceptions/Server.java
+++ b/javae/test/IceE/exceptions/Server.java
@@ -13,12 +13,6 @@ public class Server
run(String[] args, Ice.Communicator communicator, java.io.PrintStream out)
{
//
- // For this test, we need a dummy logger, otherwise the
- // assertion test will print an error message.
- //
- communicator.setLogger(new DummyLogger());
-
- //
// When running as a MIDlet the properties for the server may be
// overridden by configuration. If it isn't then we assume
// defaults.
@@ -44,7 +38,13 @@ 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, System.out);
}
catch(Ice.LocalException ex)
diff --git a/javae/test/IceE/location/Client.java b/javae/test/IceE/location/Client.java
index 85179b9309f..8cb62f219b9 100644
--- a/javae/test/IceE/location/Client.java
+++ b/javae/test/IceE/location/Client.java
@@ -25,16 +25,17 @@ public class Client
try
{
Ice.StringSeqHolder argsH = new Ice.StringSeqHolder(args);
- Ice.Properties properties = Ice.Util.createProperties(argsH);
- properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.properties = Ice.Util.createProperties(argsH);
+ initData.properties.setProperty("Ice.Default.Locator", "locator:default -p 12010");
- if(properties.getPropertyAsInt("Ice.Blocking") > 0)
+ if(initData.properties.getPropertyAsInt("Ice.Blocking") > 0)
{
- properties.setProperty("Ice.RetryIntervals", "0 0");
- properties.setProperty("Ice.Warn.Connections", "0");
+ initData.properties.setProperty("Ice.RetryIntervals", "0 0");
+ initData.properties.setProperty("Ice.Warn.Connections", "0");
}
- communicator = Ice.Util.initializeWithProperties(argsH, properties);
+ communicator = Ice.Util.initialize(argsH, initData);
status = run(argsH.value, communicator, System.out);
}
catch (Ice.LocalException ex)
diff --git a/javae/test/IceE/operations/Twoways.java b/javae/test/IceE/operations/Twoways.java
index 2c830a0ab3e..17fef2f9f57 100644
--- a/javae/test/IceE/operations/Twoways.java
+++ b/javae/test/IceE/operations/Twoways.java
@@ -597,70 +597,57 @@ class Twoways
}
{
- java.util.Hashtable ctx = new java.util.Hashtable();
- ctx.put("one", "ONE");
- ctx.put("two", "TWO");
- ctx.put("three", "THREE");
{
- test(p.ice_getContext().isEmpty());
- java.util.Hashtable r = p.opContext();
- test(!IceUtil.Hashtable.equals(r, ctx));
- }
- {
- java.util.Hashtable r = p.opContext(ctx);
- test(p.ice_getContext().isEmpty());
- test(IceUtil.Hashtable.equals(r, ctx));
- }
- {
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
- test(IceUtil.Hashtable.equals(p2.ice_getContext(), ctx));
- java.util.Hashtable r = p2.opContext();
- test(IceUtil.Hashtable.equals(r, ctx));
- r = p2.opContext(ctx);
- test(IceUtil.Hashtable.equals(r, ctx));
+ java.util.Hashtable ctx = new java.util.Hashtable();
+ ctx.put("one", "ONE");
+ ctx.put("two", "TWO");
+ ctx.put("three", "THREE");
+ {
+ test(p.ice_getContext().isEmpty());
+ java.util.Hashtable r = p.opContext();
+ test(!IceUtil.Hashtable.equals(r, ctx));
+ }
+ {
+ java.util.Hashtable r = p.opContext(ctx);
+ test(p.ice_getContext().isEmpty());
+ test(IceUtil.Hashtable.equals(r, ctx));
+ }
+ {
+ Test.MyClassPrx p2 = Test.MyClassPrxHelper.checkedCast(p.ice_context(ctx));
+ test(IceUtil.Hashtable.equals(p2.ice_getContext(), ctx));
+ java.util.Hashtable r = p2.opContext();
+ test(IceUtil.Hashtable.equals(r, ctx));
+ r = p2.opContext(ctx);
+ test(IceUtil.Hashtable.equals(r, ctx));
+ }
}
{
//
// Test that default context is obtained correctly from communicator.
//
- java.util.Hashtable dflt = new java.util.Hashtable();
- dflt.put("a", "b");
- communicator.setDefaultContext(dflt);
- test(!IceUtil.Hashtable.equals(p.opContext(), dflt));
-
- Test.MyClassPrx p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_context(new java.util.Hashtable()));
- test(p2.opContext().isEmpty());
+ Ice.InitializationData initData = new Ice.InitializationData();
+ initData.defaultContext = new java.util.Hashtable();
+ initData.defaultContext.put("a", "b");
+ Ice.Communicator communicator2 = Ice.Util.initialize(new String[0], initData);
- p2 = Test.MyClassPrxHelper.uncheckedCast(p.ice_defaultContext());
- test(IceUtil.Hashtable.equals(p2.opContext(), dflt));
-
- communicator.setDefaultContext(new java.util.Hashtable());
- test(!p2.opContext().isEmpty());
-
- communicator.setDefaultContext(dflt);
- String ref = communicator.getProperties().getPropertyWithDefault("Test.Proxy",
+ String ref = communicator2.getProperties().getPropertyWithDefault("Test.Proxy",
"test:default -p 12010 -t 10000");
- Test.MyClassPrx c = Test.MyClassPrxHelper.checkedCast(communicator.stringToProxy(ref));
- test(IceUtil.Hashtable.equals(c.opContext(), dflt));
+ Test.MyClassPrx c = Test.MyClassPrxHelper.checkedCast(communicator2.stringToProxy(ref));
+ test(IceUtil.Hashtable.equals(c.opContext(), initData.defaultContext));
- dflt.put("a", "c");
- Test.MyClassPrx c2 = Test.MyClassPrxHelper.uncheckedCast(c.ice_context(dflt));
+ java.util.Hashtable ctx = new java.util.Hashtable();
+ 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.Hashtable());
+ communicator2.destroy();
}
}
diff --git a/php/src/ice/communicator.cpp b/php/src/ice/communicator.cpp
index 988b8c28eb0..0dedea01c38 100644
--- a/php/src/ice/communicator.cpp
+++ b/php/src/ice/communicator.cpp
@@ -637,7 +637,9 @@ initCommunicator(ice_object* obj TSRMLS_DC)
int argc = 0;
char** argv = 0;
- Ice::CommunicatorPtr communicator = Ice::initializeWithProperties(argc, argv, *properties);
+ Ice::InitializationData initData;
+ initData.properties = *properties;
+ Ice::CommunicatorPtr communicator = Ice::initialize(argc, argv, initData);
obj->ptr = new Ice::CommunicatorPtr(communicator);
//
diff --git a/php/test/Ice/operations/Client.php b/php/test/Ice/operations/Client.php
index 1d17c356ba6..5cf967a6ba1 100644
--- a/php/test/Ice/operations/Client.php
+++ b/php/test/Ice/operations/Client.php
@@ -402,6 +402,7 @@ function twoways($communicator, $p)
$r = $p2->opContext($ctx);
test($r == $ctx);
}
+ /*
{
//
// Test that default context is obtained correctly from communicator.
@@ -446,6 +447,7 @@ function twoways($communicator, $p)
$communicator->setDefaultContext(array());
}
+ */
}
}
diff --git a/py/CHANGES b/py/CHANGES
index c06144a6993..b97e85f88ee 100644
--- a/py/CHANGES
+++ b/py/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 an assertion failure in the object adapter when find is called
for a non-existent identity.
diff --git a/py/modules/IcePy/Communicator.cpp b/py/modules/IcePy/Communicator.cpp
index e83c46c4c31..a7ca8fb41ac 100644
--- a/py/modules/IcePy/Communicator.cpp
+++ b/py/modules/IcePy/Communicator.cpp
@@ -163,7 +163,10 @@ communicatorInit(CommunicatorObject* self, PyObject* args, PyObject* /*kwds*/)
Ice::CommunicatorPtr communicator;
try
{
- communicator = Ice::initializeWithPropertiesAndLogger(argc, argv, props, log);
+ Ice::InitializationData initData;
+ initData.properties = props;
+ initData.logger = log;
+ communicator = Ice::initialize(argc, argv, initData);
}
catch(const Ice::Exception& ex)
{
@@ -533,36 +536,6 @@ communicatorGetLogger(CommunicatorObject* self)
extern "C"
#endif
static PyObject*
-communicatorSetLogger(CommunicatorObject* self, PyObject* args)
-{
- PyObject* loggerType = lookupType("Ice.Logger");
- assert(loggerType != NULL);
-
- PyObject* logger;
- if(!PyArg_ParseTuple(args, STRCAST("O!"), loggerType, &logger))
- {
- return NULL;
- }
-
- Ice::LoggerPtr wrapper = new LoggerWrapper(logger);
- try
- {
- (*self->communicator)->setLogger(wrapper);
- }
- catch(const Ice::Exception& ex)
- {
- setPythonException(ex);
- return NULL;
- }
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-#ifdef WIN32
-extern "C"
-#endif
-static PyObject*
communicatorAddObjectFactory(CommunicatorObject* self, PyObject* args)
{
PyObject* factoryType = lookupType("Ice.ObjectFactory");
@@ -663,39 +636,6 @@ communicatorFindObjectFactory(CommunicatorObject* self, PyObject* args)
extern "C"
#endif
static PyObject*
-communicatorSetDefaultContext(CommunicatorObject* self, PyObject* args)
-{
- PyObject* dict;
- if(!PyArg_ParseTuple(args, STRCAST("O!"), &PyDict_Type, &dict))
- {
- return NULL;
- }
-
- Ice::Context ctx;
- if(!dictionaryToContext(dict, ctx))
- {
- return NULL;
- }
-
- try
- {
- (*self->communicator)->setDefaultContext(ctx);
- }
- catch(const Ice::Exception& ex)
- {
- setPythonException(ex);
- return NULL;
-
- }
-
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-#ifdef WIN32
-extern "C"
-#endif
-static PyObject*
communicatorGetDefaultContext(CommunicatorObject* self)
{
Ice::Context ctx;
@@ -964,16 +904,12 @@ static PyMethodDef CommunicatorMethods[] =
PyDoc_STR(STRCAST("removeObjectFactory(id) -> None")) },
{ STRCAST("findObjectFactory"), (PyCFunction)communicatorFindObjectFactory, METH_VARARGS,
PyDoc_STR(STRCAST("findObjectFactory(id) -> Ice.ObjectFactory")) },
- { STRCAST("setDefaultContext"), (PyCFunction)communicatorSetDefaultContext, METH_VARARGS,
- PyDoc_STR(STRCAST("setDefaultContext(ctx) -> None")) },
{ STRCAST("getDefaultContext"), (PyCFunction)communicatorGetDefaultContext, METH_NOARGS,
PyDoc_STR(STRCAST("getDefaultContext() -> Ice.Context")) },
{ STRCAST("getProperties"), (PyCFunction)communicatorGetProperties, METH_NOARGS,
PyDoc_STR(STRCAST("getProperties() -> Ice.Properties")) },
{ STRCAST("getLogger"), (PyCFunction)communicatorGetLogger, METH_NOARGS,
PyDoc_STR(STRCAST("getLogger() -> Ice.Logger")) },
- { STRCAST("setLogger"), (PyCFunction)communicatorSetLogger, METH_VARARGS,
- PyDoc_STR(STRCAST("setLogger(Ice.Logger) -> None")) },
{ STRCAST("getDefaultRouter"), (PyCFunction)communicatorGetDefaultRouter, METH_NOARGS,
PyDoc_STR(STRCAST("getDefaultRouter() -> proxy")) },
{ STRCAST("setDefaultRouter"), (PyCFunction)communicatorSetDefaultRouter, METH_VARARGS,
diff --git a/py/test/Ice/operations/Twoways.py b/py/test/Ice/operations/Twoways.py
index b70eb8c3fec..ff6a536019c 100644
--- a/py/test/Ice/operations/Twoways.py
+++ b/py/test/Ice/operations/Twoways.py
@@ -460,39 +460,39 @@ def twoways(communicator, p):
#
# Test that default context is obtained correctly from communicator.
#
- dflt = {'a': 'b'}
- communicator.setDefaultContext(dflt)
- test(p.opContext() != dflt)
+# dflt = {'a': 'b'}
+# communicator.setDefaultContext(dflt)
+# test(p.opContext() != dflt)
- p2 = Test.MyClassPrx.uncheckedCast(p.ice_context({}))
- test(len(p2.opContext()) == 0)
+# p2 = Test.MyClassPrx.uncheckedCast(p.ice_context({}))
+# test(len(p2.opContext()) == 0)
- p2 = Test.MyClassPrx.uncheckedCast(p.ice_defaultContext())
- test(p2.opContext() == dflt)
+# p2 = Test.MyClassPrx.uncheckedCast(p.ice_defaultContext())
+# test(p2.opContext() == dflt)
- communicator.setDefaultContext({})
- test(len(p2.opContext()) > 0)
+# communicator.setDefaultContext({})
+# test(len(p2.opContext()) > 0)
- communicator.setDefaultContext(dflt)
- c = Test.MyClassPrx.checkedCast(communicator.stringToProxy("test:default -p 12010 -t 10000"))
- test(c.opContext() == dflt)
+# communicator.setDefaultContext(dflt)
+# c = Test.MyClassPrx.checkedCast(communicator.stringToProxy("test:default -p 12010 -t 10000"))
+# test(c.opContext() == dflt)
- dflt['a'] = 'c'
- c2 = Test.MyClassPrx.uncheckedCast(c.ice_context(dflt))
- test(c2.opContext()['a'] == 'c')
+# dflt['a'] = 'c'
+# c2 = Test.MyClassPrx.uncheckedCast(c.ice_context(dflt))
+# test(c2.opContext()['a'] == 'c')
- dflt = {}
- c3 = Test.MyClassPrx.uncheckedCast(c2.ice_context(dflt))
- tmp = c3.opContext()
- test(not tmp.has_key('a'))
+# dflt = {}
+# c3 = Test.MyClassPrx.uncheckedCast(c2.ice_context(dflt))
+# tmp = c3.opContext()
+# test(not tmp.has_key('a'))
- c4 = Test.MyClassPrx.uncheckedCast(c2.ice_defaultContext())
- test(c4.opContext()['a'] == 'b')
+# c4 = Test.MyClassPrx.uncheckedCast(c2.ice_defaultContext())
+# test(c4.opContext()['a'] == 'b')
- dflt['a'] = 'd'
- communicator.setDefaultContext(dflt)
+# dflt['a'] = 'd'
+# communicator.setDefaultContext(dflt)
- c5 = Test.MyClassPrx.uncheckedCast(c.ice_defaultContext())
- test(c5.opContext()['a'] == 'd')
+# c5 = Test.MyClassPrx.uncheckedCast(c.ice_defaultContext())
+# test(c5.opContext()['a'] == 'd')
- communicator.setDefaultContext({})
+# communicator.setDefaultContext({})
diff --git a/py/test/Ice/operations/TwowaysAMI.py b/py/test/Ice/operations/TwowaysAMI.py
index cbc30370c69..6f82b0fc217 100644
--- a/py/test/Ice/operations/TwowaysAMI.py
+++ b/py/test/Ice/operations/TwowaysAMI.py
@@ -792,59 +792,59 @@ def twowaysAMI(communicator, p):
#
# Test that default context is obtained correctly from communicator.
#
- dflt = {'a': 'b'}
- communicator.setDefaultContext(dflt)
- cb = AMI_MyClass_opContextNotEqualI(dflt)
- p.opContext_async(cb)
- test(cb.check())
-
- p2 = Test.MyClassPrx.uncheckedCast(p.ice_context({}))
- cb = AMI_MyClass_opContextEqualI({})
- p2.opContext_async(cb)
- test(cb.check())
-
- p2 = Test.MyClassPrx.uncheckedCast(p.ice_defaultContext())
- cb = AMI_MyClass_opContextEqualI(dflt)
- p2.opContext_async(cb)
- test(cb.check())
-
- communicator.setDefaultContext({})
- cb = AMI_MyClass_opContextNotEqualI({})
- p2.opContext_async(cb)
- test(cb.check())
-
- communicator.setDefaultContext(dflt)
- c = Test.MyClassPrx.checkedCast(communicator.stringToProxy("test:default -p 12010 -t 10000"))
- cb = AMI_MyClass_opContextEqualI({'a': 'b'})
- c.opContext_async(cb)
- test(cb.check())
-
- dflt['a'] = 'c'
- c2 = Test.MyClassPrx.uncheckedCast(c.ice_context(dflt))
- cb = AMI_MyClass_opContextEqualI({'a': 'c'})
- c2.opContext_async(cb)
- test(cb.check())
-
- dflt = {}
- c3 = Test.MyClassPrx.uncheckedCast(c2.ice_context(dflt))
- cb = AMI_MyClass_opContextEqualI({})
- c3.opContext_async(cb)
- test(cb.check())
-
- c4 = Test.MyClassPrx.uncheckedCast(c2.ice_defaultContext())
- cb = AMI_MyClass_opContextEqualI({'a': 'b'})
- c4.opContext_async(cb)
- test(cb.check())
-
- dflt['a'] = 'd'
- communicator.setDefaultContext(dflt)
-
- c5 = Test.MyClassPrx.uncheckedCast(c.ice_defaultContext())
- cb = AMI_MyClass_opContextEqualI({'a': 'd'})
- c5.opContext_async(cb)
- test(cb.check())
-
- communicator.setDefaultContext({})
+# dflt = {'a': 'b'}
+# communicator.setDefaultContext(dflt)
+# cb = AMI_MyClass_opContextNotEqualI(dflt)
+# p.opContext_async(cb)
+# test(cb.check())
+
+# p2 = Test.MyClassPrx.uncheckedCast(p.ice_context({}))
+# cb = AMI_MyClass_opContextEqualI({})
+# p2.opContext_async(cb)
+# test(cb.check())
+
+# p2 = Test.MyClassPrx.uncheckedCast(p.ice_defaultContext())
+# cb = AMI_MyClass_opContextEqualI(dflt)
+# p2.opContext_async(cb)
+# test(cb.check())
+
+# communicator.setDefaultContext({})
+# cb = AMI_MyClass_opContextNotEqualI({})
+# p2.opContext_async(cb)
+# test(cb.check())
+
+# communicator.setDefaultContext(dflt)
+# c = Test.MyClassPrx.checkedCast(communicator.stringToProxy("test:default -p 12010 -t 10000"))
+# cb = AMI_MyClass_opContextEqualI({'a': 'b'})
+# c.opContext_async(cb)
+# test(cb.check())
+
+# dflt['a'] = 'c'
+# c2 = Test.MyClassPrx.uncheckedCast(c.ice_context(dflt))
+# cb = AMI_MyClass_opContextEqualI({'a': 'c'})
+# c2.opContext_async(cb)
+# test(cb.check())
+
+# dflt = {}
+# c3 = Test.MyClassPrx.uncheckedCast(c2.ice_context(dflt))
+# cb = AMI_MyClass_opContextEqualI({})
+# c3.opContext_async(cb)
+# test(cb.check())
+
+# c4 = Test.MyClassPrx.uncheckedCast(c2.ice_defaultContext())
+# cb = AMI_MyClass_opContextEqualI({'a': 'b'})
+# c4.opContext_async(cb)
+# test(cb.check())
+
+# dflt['a'] = 'd'
+# communicator.setDefaultContext(dflt)
+
+# c5 = Test.MyClassPrx.uncheckedCast(c.ice_defaultContext())
+# cb = AMI_MyClass_opContextEqualI({'a': 'd'})
+# c5.opContext_async(cb)
+# test(cb.check())
+
+# communicator.setDefaultContext({})
derived = Test.MyDerivedClassPrx.checkedCast(p)
test(derived)