当前位置: 首页 > 面试题库 >

离线/在线数据同步策略

吴靖
2023-03-14
问题内容

我的要求是我有服务器J2EE Web应用程序和客户端J2EE
Web应用程序。有时客户端可以脱机。当客户上线时,他应该能够来回同步更改。我还应该能够基于一些过滤器/规则来控制哪些行/表需要同步。有没有现成的Java框架可以做到这一点?如果我需要自己实施,您可以建议哪些不同的策略?

我想到的一个解决方案是维护SQL日志并在同步期间在另一端执行相同的语句。您认为此策略有任何问题吗?


问题答案:

有许多Java库用于数据同步/复制。我知道的两个是水仙花和SymmetricDS。在前世,我愚蠢地(用Java)实现了自己的数据复制过程。看起来这应该是相当简单的事情,但是如果可以同时在多个位置更新数据,那将是非常复杂的事情。我强烈建议您使用上述项目之一尝试自己绕过这种复杂性。



 类似资料:
  • 问题内容: 我目前正在使用angularJS和phonegap构建适用于Android / iOS的测试应用程序。 该应用程序仅使用存储在Firebase数据库中的文本数据。我希望该应用程序具有自己的本地数据库(在设备离线时使用),并在某个时间(设备在线时)与Firebase数据库同步。 离线模式使用phonegap / cordova的存储API。我可以检查设备的在线状态并定期备份在线数据库吗?

  • 下面的代码创建了一个新的custom um < code > Thread ,并等待线程结束,直到主线程再次激活。 > < li >我不太明白它是如何工作的。为什么< code > myth read . wait();立即接到电话? < li> 为什么不改用< code>Thread.join()? 公共静态void main(String[] args) {

  • 所以我有一个代码: 所以我将线程添加到我的线程列表中,然后启动这些线程。这是MyThread类: 我想做一个程序来创建线程,将它们添加到列表中,调用它们,但是每个线程都应该等到前一个线程结束它的任务。因此输出应该如下所示: 如何使用实现这一点?我尝试了使用的不同方法,但失败了。

  • 互斥锁 条件变量 POSIX信号量

  • 这是我之前问题的后续:如何从远程服务器访问Google Drive应用程序数据? 我有一个需要访问Google Drive AppFolder的应用程序,包括客户端(在线、JavaScript)和服务器端(离线、Python)。我的应用程序是独一无二的,因为客户端和服务器可能无法通过原始身份验证进行通信。 因此,我使用下面的代码来获取服务器的auth令牌(启动客户端): 服务器存储包括刷新令牌在内

  • 当我尝试通过启动不同的线程来执行所有同步方法时,我在一个类中有三个同步方法,我看不到同步的输出,在对象上没有获得锁 公共类DisplayMessage{ }线程类: 公共类 MyThread 扩展了线程 { }Thread2类:公共类MyThread2扩展线程{ } 线程 3 类: 包装Synchronization.classlock; 公共类MyThread3扩展线程{ } 使用main方法生