我需要在 Java 应用程序中实现数据库同步,我开始使用 SymmetricDS,这是一个成熟的工具,可以同步不同的 DBMS。
我玩了一些 SymmetricDS 但我无法满足我的需求,所以我对这个工具有几个问题。
首先,我将公开应用程序的上下文:
我开发了一个用 Java 编写的桌面应用程序(JavaFX 2.0 + H2 数据库 + Hibernate),我对 Java 还很陌生,但我设法构建了一个 MVC 架构并最终完成了一个独立版本我的申请。
现在,我必须在安装在不同计算机上的应用程序的多个实例之间进行同步。
我有一个在外部服务器上运行的“主” MySQL 数据库,它也将 SymmetricDS 作为“主”引擎运行。
应用程序使用 H2 数据库和 ClientSymmetricEngine。
而且我需要在客户端之间同步所有数据。
我设法使用 SymmetricDS 建立了一个或多或少的功能系统,但有一些症结:
有没有办法简单地实现“最后更新获胜”策略而不是默认使用的“最后同步获胜”?
是否有更完整的文档或分步指南将 SymmetricDS 嵌入现有应用程序?
如何在不使用 Spring Framework 的情况下扩展对称拉取和推送作业(我需要在同步期间冻结应用程序)?
如果我自己清除表会发生什么情况:
DATA DATA_EVENT OUTGOING_BATCH INCOMING_BATCH DATA_GAP NODE_HOST_STATS NODE_HOST_CHANNEL_STATS NODE_HOST_JOB_STATS 在每次成功推/拉之后?即使没有同步更改,此表也会在几分钟后快速增长,这使我的应用程序变慢。
谢谢阅读。
JBRTRND