【问题标题】:How to synchronize two separate Java Applications when accessing a MySQL database访问 MySQL 数据库时如何同步两个单独的 Java 应用程序
【发布时间】:2012-01-19 22:13:33
【问题描述】:

我想要一个 Java Web App 和一个普通的 Java App,它们都可以使用 JDBC 访问同一个 MySQL 数据库。这两者当然是完全独立的,所以我想要找到一种方法以某种方式同步它们,这样我就可以确保不会由于竞争条件而导致数据库访问出错,但我不知道该怎么做那。有什么建议吗?

【问题讨论】:

  • 使用您的 java JDBC 代码中的事务。

标签: java mysql jdbc synchronization


【解决方案1】:

交易。为您的需求选择最佳的事务隔离级别。

【讨论】:

    【解决方案2】:

    大多数 ORM 解决方案(hibernate、jpa)可以使用“版本”列,当您尝试写入数据库时​​会检查该列。如果您尝试写入的对象版本与数据库中的版本不同,那么您已经过时,需要先合并传入的更改。在 JDBC 中做类似的事情应该不会太难。

    【讨论】:

      【解决方案3】:

      事务(或某些 DB 事物)可能是最好的,但如果这在您的应用中不起作用,您可以设置一个虚拟文件并要求对它的写入权限作为您的锁。

      【讨论】:

      • 这是个好主意,但在我的情况下无法运行,因为应用程序不应该在同一台机器上运行!
      猜你喜欢
      • 2015-07-12
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多