Я создал приложение Java Java. Я экспортировал runnable jar, который работает на Linux-машине. и создал exe-файл, используя ту же самую банку, которая работает в окнах.Приложение с одним экземпляром Eclipse Jetty Server
Если я запускаю exe несколько раз, создается несколько экземпляров (javaw.exe в диспетчере задач). Как я могу предотвратить это?
Я хочу предотвратить это. для этого изначально я пытаюсь проверить, работает ли сервер, но я использую его внутри метода static main()
. и isRunning()
метод класса Server нестационар.
Мне нужно запустить приложение на обоих окнах и linux os.
Код:
public static void main(String[] args) {
try {
if(Server.isRunning()){ // compilation error
}
Server server = new Server();
ServerConnector connector = new ServerConnector(server);
connector.setPort(8080);
server.addConnector(connector);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);
// Initialize javax.websocket layer
ServerContainer wscontainer = WebSocketServerContainerInitializer.configureContext(context);
// Add WebSocket endpoint to javax.websocket layer
wscontainer.addEndpoint(EventSocket.class);
server.start();
server.dump(System.err);
server.join();
} catch (Throwable t) {
logger.error("Server Error : " + t.getMessage(), t);
}
}
Мое объяснение довольно долгое, но надеемся, что это поможет: Положите 'System.out.println (« Server started »);' заявление сразу после 'Server server = new Server();'. Запустите файл jar с 'cmd' или' terminal'. Таким образом, если сервер работает, вы увидите, что курсор мигает сразу после инструкции распечатки. Если это не так, в окнах, например, вы увидите 'C: \ Windows \ System32>', который показывает, что служба сервера была остановлена или завершена. –
Или проверить [эту ссылку] (http://stackoverflow.com/questions/27231413/how-do-i-know-that-jetty-started-successfully-with-application-instance-from-an) –