diff options
Diffstat (limited to 'java/demo/Ice/interrupt/Server.java')
-rw-r--r-- | java/demo/Ice/interrupt/Server.java | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/java/demo/Ice/interrupt/Server.java b/java/demo/Ice/interrupt/Server.java deleted file mode 100644 index 9377defd4e3..00000000000 --- a/java/demo/Ice/interrupt/Server.java +++ /dev/null @@ -1,91 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -public class Server extends Ice.Application -{ - @Override - public int - run(String[] args) - { - if(args.length > 0) - { - System.err.println(appName() + ": too many arguments"); - return 1; - } - - // - // If ^C is pressed we want to interrupt all running upcalls from the - // dispatcher and destroy the communicator. - // - setInterruptHook(new Thread() { - @Override - public void - run() - { - // - // Call shutdownNow on the executor. This interrupts all - // executor threads causing any running servant dispatch threads - // to terminate quickly. - // - _executor.shutdownNow(); - try - { - communicator().shutdown(); - } - catch(Ice.LocalException ex) - { - ex.printStackTrace(); - } - } - }); - - Ice.ObjectAdapter adapter = communicator().createObjectAdapter("TaskManager"); - adapter.add(new TaskManagerI(_executor), communicator().stringToIdentity("manager")); - adapter.activate(); - communicator().waitForShutdown(); - - return 0; - } - - public static void - main(String[] args) - { - final Server app = new Server(); - - Ice.InitializationData initData = new Ice.InitializationData(); - initData.properties = Ice.Util.createProperties(); - initData.properties.load("config.server"); - - // - // This demo uses a dispatcher to execute any invocations on the server. - // By using an executor it is straightforward to interrupt any servant - // dispatch threads by using ExecutorService.shutdownNow. - // - initData.dispatcher = new Ice.Dispatcher() { - @Override - public void dispatch(Runnable runnable, Ice.Connection con) - { - app.getExecutor().submit(runnable); - } - }; - - int status = app.main("Server", args, initData); - System.exit(status); - } - - ExecutorService getExecutor() - { - return _executor; - } - - private ExecutorService _executor = Executors.newFixedThreadPool(5); -} |