gpt4 book ai didi

java - JAR更新后Spring boot自动重启

转载 作者:行者123 更新时间:2023-12-02 09:30:00 26 4
gpt4 key购买 nike

我在 Linux 服务器上有一个 Spring Boot JAR,位于某个目录 /dev/ExampleApplication.jar

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

我想要这样的伪代码:

@Scheduled(fixedDelay = 1000)
public void checkForUpdates() {
long fileChecksum = getJarChecksum();
if (checksum != fileChecksum) {
command("java -jar /dev/ExampleApplication.jar");
context.shutdown();
}
}

最佳答案

您可以使用inotify-tools每当删除或更改 jar 文件时重新启动该文件。

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

while inotifywait -e close_write /dev/ExampleApplication.jar; do java -jar /dev/ExampleApplication.jar; done

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

关于java - JAR更新后Spring boot自动重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com