如何关闭dropwizard应用程序?

Ami*_*rma 3 java dropwizard microservices

我试图用dropwizard提出一个微服务.该文档说明了如何启动应用程序,但没有说明优雅地终止它.例如,apache tomcat有启动关闭脚本.

因此,没有人知道如何终止按动以外的dropwizard应用Ctrl+Ckill

Ami*_*rma 10

Dropwizard Jetty有关闭钩子.所以kill -SIGINT <pid>工作得非常好.


小智 6

受到praveenag答案的启发,我挖掘了Jetty的代码.

如果您启动DropWizard提供:

-DSTOP.PORT=xxxx -DSTOP.KEY=my_secret_key
Run Code Online (Sandbox Code Playgroud)

作为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)
Run Code Online (Sandbox Code Playgroud)

我猜你可以用任何其他语言做同样的事情.