Eclipse RCPアプリケーションにJettyを正常に埋め込んでいます。 私のRCPアプリケーションでは、ユーザーがボタンをクリックすると、ブラウザが開き、いくつかのサーブレットページが表示されます。 jspファイルは別々のディレクトリにあり、angulajs Webアプリケーションです。Eclipse RCPでEmbedded Jetty Serverをプログラムでシャットダウン
ユーザーがRCPを閉じるときにEclipse UIプラグインから組み込みJettyサーバーをシャットダウンしようとしています。サーバーがWebプロジェクトの一部であるWorkshop
というクラスで開始されているため、サーバーインスタンス.stop()Eclipse UI Plugin.Iから、以下のコードを試しましたが、静脈内です。私のEclipseのUIプラグインでWebプロジェクトのWorkshop
クラス
server = new Server();
server.setConnectors(new Connector[] { connector });
server.setHandler(handlers);
server.start();
handlers.addHandler(new ShutdownHandler(server, "abc"));
server.setStopAtShutdown(true);
server.setGracefulShutdown(7_000);
ShutdownThread.getInstance().run();
2>へ 1>設定ShutdownHook、私は
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
try {
URL url = new URL("http://localhost:" + resultPortNo + "/shutdown?token=" + shutdownCookie);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.getResponseCode();
logger.info("Shutting down " + url + ": " + connection.getResponseMessage());
} catch (SocketException e) {
// logger.debug("Not running");
// Okay - the server is not running
} catch (IOException e) {
throw new RuntimeException(e);
}
}
});
HtppUrlConnectionは404-NOTFOUND応答code.So桟橋サーバーがまだ実行されているスロー追加されました。 Eclipse UI Pluginから組み込みJettyシャットダウンを処理するにはどうすればいいですか?
私は多くの記事を読んでいましたが、私の質問に対する答えは見つかりませんでした。
ご協力いただければ幸いです。ありがとうございます。