如何确保我的 SpringBoot 应用程序只运行一个实例。
我正在启动我的 spring boot 应用程序 java -jar target/myproject-0.0.1-SNAPSHOT.jar
我需要确保如果有人在同一个 JVM 上第二次运行此命令,我的应用程序不应启动。 一种方法是在应用程序启动时创建一个锁定文件,并在应用程序关闭时删除锁定文件。但这将需要大量样板代码。 有没有更好的方法来做这个 Spring Boot?
最佳答案
控制应用实例的数量(可以在不同的机器上运行)。我已经使用了这些技术。
- 要跟踪的数据库表:例如可以记录 IP、实例名称等的 MY_APP_STATUS 表。如果相同的 IP、相同的实例名称已经在运行,应用程序将自行关闭。
我假设您的应用程序已经进行了一些数据访问,在这种情况下,它是 spring-data 中的单行方法。
关于java - 确保 Spring Boot 应用程序的单实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46279074/