0
Stilts stomp serverのPocをいくつか実行しています。サーバーのjvm終了を防止し、別のjvmを介して行う必要があります。ここにコードスニペットがありますグレースフルシャットダウンのコマンドラインからjvmを停止してください
public static void main(String[] args) {
try {
log.debug("Starting server...");
StompServer<MockStompProvider> server = new StompServer<MockStompProvider>();
server.setStompProvider(new MockStompProvider());
server.addConnector(new InsecureConnector());
server.start();
while (true) {
Thread.sleep(200000);
}
} catch (Exception ex) {
log.error("Exception ", ex);
}
}
2つの要件があります。
while
ループを使用せずに上記のjvmを終了させないようにする方法はありますか?java -jar server.jar -- stop
などのコマンドを使用してjvmを停止したいとします。たとえば、jettyのようなサーバーです。 Jettyはポートを使用し、停止要求の信号を待ち受けます。簡単な方法がありますか?
2つ目のオプションは、AnchorFileを使用して、jvmを起動してファイルの存在を監視し、stop jvmを使用してそのファイルを削除することができます。
ボウと弟をこれを行うことができます。 – vels4j
@ vels4jエラー処理を改善することができます。例えば実行中のサービスがなくても停止すると、サービスがすでに実行されていることを検出し、妥当なエラーを出します。注:これは、任意のマシンから接続すると停止します(ソースIPを確認できます) –
はい、私はすべての基本的な作業を行っています。どうもありがとうございます.. – vels4j