首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring boot在JAR更新后自动重启

Spring boot在JAR更新后自动重启
EN

Stack Overflow用户
提问于 2019-09-24 04:32:18
回答 1查看 490关注 0票数 0

我在linux服务器上的某个/dev/ExampleApplication.jar目录下有一个Spring Boot JAR。

Spring Boot应用程序是否可以监视特定JAR的更新(可能是校验和的更改),如果有更新,则关闭自身并启动更新后的JAR?

我想要一些伪代码形式的东西:

代码语言:javascript
复制
@Scheduled(fixedDelay = 1000)
public void checkForUpdates() {
  long fileChecksum = getJarChecksum();
  if (checksum != fileChecksum) {
    command("java -jar /dev/ExampleApplication.jar");
    context.shutdown();
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-09-24 05:46:23

您可以在jar文件被删除或更改时使用inotify-tools重新启动它。

您需要在您的Linux发行版上安装inotify-tools (如果尚未安装)。

代码语言:javascript
复制
while inotifywait -e close_write /dev/ExampleApplication.jar; do java -jar /dev/ExampleApplication.jar; done

-e参数采用事件类型。您还可以查看某个目录,以查看是否在该目录中删除或创建了任何内容。有关inotifywait事件类型的更多信息,请参阅此处:https://linux.die.net/man/1/inotifywait

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58069833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档