什么是"锁定文件的最佳方法"春季应用模式?

时间:2015-01-28 18:52:42

标签: spring

我正在寻找一种方法来实现"锁定文件"春季应用中的模式。我想要防止的是同一个Spring应用程序的多个副本同时开始使用相同的资源(例如数据库)。我知道在unix系统中,应用程序创建一个名为" .lock"的文件是很常见的。因为它正在启动并且如果该文件已经存在则拒绝启动。这可以防止多个实例在同一服务器上运行。我有一些关于将这种模式应用于针对同一数据库运行的多个spring应用程序的问题的一些想法,但我想知道是否有任何专门针对此问题而开发的内容更为通用或内置于框架中。

1 个答案:

答案 0 :(得分:0)

我也在寻找这样的解决方案,但找不到任何解决方案。 实施应该很容易,

  • 启动时检查/创建锁文件
  • 使用JVM关闭挂钩删除它(即使应用程序崩溃也会将其删除)

如果JVM崩溃(例如内存不足),文件将不会被删除,我认为没有办法避免这种情况。