diff options
author | Mark Spruiell <mes@zeroc.com> | 2011-05-02 19:33:59 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2011-05-02 19:33:59 -0700 |
commit | 29fa72f67e9eceebc765d7cbc997a4626797d9b5 (patch) | |
tree | 239719dc3ff622d4b3225aa2414bd90091b60357 /java/test/Ice/dispatcher/Server.java | |
parent | updates for PHP 5.3.6 (diff) | |
download | ice-29fa72f67e9eceebc765d7cbc997a4626797d9b5.tar.bz2 ice-29fa72f67e9eceebc765d7cbc997a4626797d9b5.tar.xz ice-29fa72f67e9eceebc765d7cbc997a4626797d9b5.zip |
bug 5002 - fixing several Java tests for Android compatibility
Diffstat (limited to 'java/test/Ice/dispatcher/Server.java')
-rw-r--r-- | java/test/Ice/dispatcher/Server.java | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/java/test/Ice/dispatcher/Server.java b/java/test/Ice/dispatcher/Server.java index 0d9841aa952..b53e9eb5a71 100644 --- a/java/test/Ice/dispatcher/Server.java +++ b/java/test/Ice/dispatcher/Server.java @@ -19,7 +19,8 @@ public class Server extends test.Util.Application Ice.ObjectAdapter adapter = communicator().createObjectAdapter("TestAdapter"); Ice.ObjectAdapter adapter2 = communicator().createObjectAdapter("ControllerAdapter"); - adapter.add(new TestI(), communicator().stringToIdentity("test")); + assert(_dispatcher != null); + adapter.add(new TestI(_dispatcher), communicator().stringToIdentity("test")); adapter.activate(); adapter2.add(new TestControllerI(adapter), communicator().stringToIdentity("testController")); adapter2.activate(); @@ -29,23 +30,41 @@ public class Server extends test.Util.Application protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH) { + assert(_dispatcher == null); + _dispatcher = new Dispatcher(); Ice.InitializationData initData = new Ice.InitializationData(); initData.properties = Ice.Util.createProperties(argsH); initData.properties.setProperty("Ice.Package.Test", "test.Ice.dispatcher"); initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010"); initData.properties.setProperty("ControllerAdapter.Endpoints", "tcp -p 12011"); initData.properties.setProperty("ControllerAdapter.ThreadPool.Size", "1"); - initData.dispatcher = new Dispatcher(); + initData.dispatcher = _dispatcher; return initData; } + public void terminate() + { + if(_dispatcher != null) + { + _dispatcher.terminate(); + } + } + public static void main(String[] args) { Server app = new Server(); int result = app.main("Server", args); - Dispatcher.terminate(); + app.terminate(); System.gc(); System.exit(result); } + + // + // The Dispatcher class uses a static "_instance" member in other language + // mappings. In Java, we avoid the use of static members because we need to + // maintain support for Android (in which the client and server run in the + // same process). + // + private Dispatcher _dispatcher; } |