summaryrefslogtreecommitdiff
path: root/java/demo/Ice/interrupt/Server.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Ice/interrupt/Server.java')
-rw-r--r--java/demo/Ice/interrupt/Server.java91
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);
-}