dropwizard を使用してマイクロサービスを作成しようとしています。ドキュメントには、アプリケーションの起動方法が記載されていますが、正常に終了する方法については何も記載されていません。たとえば、apache tomcat には起動スクリプトとシャットダウン スクリプトの両方があります。
を押す以外にドロップウィザードアプリケーションを終了する方法を知っている人はいCtrl+C
ますkill
か?
dropwizard を使用してマイクロサービスを作成しようとしています。ドキュメントには、アプリケーションの起動方法が記載されていますが、正常に終了する方法については何も記載されていません。たとえば、apache tomcat には起動スクリプトとシャットダウン スクリプトの両方があります。
を押す以外にドロップウィザードアプリケーションを終了する方法を知っている人はいCtrl+C
ますkill
か?
praveenag の回答に触発されて、私は Jetty のコードを掘り下げました。
以下を指定して DropWizard を起動した場合:
-DSTOP.PORT=xxxx -DSTOP.KEY=my_secret_key
Javaオプションとして、
Jetty にそのポートで停止要求をリッスンするように指示します。
その後、そのソケットに書き込み、Jetty にシャットダウンを指示することができます。私はRからこれを次のようにしました:
socket = make.socket("localhost", 8082)
write.socket(socket, "my_secret_key\r\n")
write.socket(socket, "stop\r\n")
close.socket(socket)
他の言語でも同じことができると思います。
プログラムで、次のこともできます。
environment.getApplicationContext().getServer().stop();
それはenvironment
あなたがあなたに得るものですApplication
:
@Override
public void run(ApplicationConfiguration configuration, Environment environment) throws Exception { ... }