保证SpringBoot应用单实例

ank*_*ari 6 java web-applications spring-boot

如何确保只运行 SpringBoot 应用程序的单个实例。

我正在使用java -jar target/myproject-0.0.1-SNAPSHOT.jar启动我的 Spring Boot 应用程序

我需要确保如果有人在同一个 JVM 上第二次运行此命令,我的应用程序不应启动。一种方法是在应用程序启动时创建一个锁定文件,并在应用程序关闭时删除该锁定文件。但这将需要大量的样板代码。有没有更好的方法来做这个 Spring Boot?

Esp*_*sso 0

控制应用程序的实例数量(可以在不同的计算机上运行)。我已经使用了这些技术。

  • 要跟踪的数据库表:例如,可以记录 IP、实例名称等的 MY_APP_STATUS 表。如果相同的 ip、相同的实例名称已经在运行,应用程序将自行关闭。

我假设您的应用程序已经进行了一些数据访问,在这种情况下,它是 spring-data 中的单行方法。