【发布时间】:2013-12-17 21:42:53
【问题描述】:
我正在将 Java REST 服务从“传统”方式(作为部署到多租户应用程序服务器 (Tomcat) 的符合 servlet 的 .war)转换为更简单的嵌入式设置,其中有一个简单的启动嵌入式 http 服务器 (Grizzly+Jersey) 的 Java 主类。缺少的一个部分是服务包装器。我可以通过执行 'java -jar myservice.jar' 手动运行该服务,但我想实现为适当的 Linux 后台服务。
通常,这是通过您放入 /etc/init.d 的简单 Bash shell 脚本来完成的。我见过一些超级简单的例子,但是它们通过进程终止而不是优雅的关闭来实现关闭。我还看到了一些商业工具来处理这个问题,但是这个任务似乎太简单了,无法涉及商业工具。
我的第一个猜测是在第二个端口上添加一个单独的超级简单 REST 服务,该服务侦听关闭请求并让 /etc/init.d Bash shell 脚本以这种方式发送关闭请求。
对于这个问题有更好或更标准的解决方案吗?
【问题讨论】:
标签: java linux web-services bash daemon