Java:在网络中断时在线更新数据的最佳实践

标签 java data-synchronization


我有 2 个应用程序:

  • 桌面(java)
  • 网络(symfony)

我在桌面应用程序中有一些数据必须与网络应用程序中的数据一致。
所以基本上我从桌面应用程序发送一个 POST 请求到网络应用程序以更新在线数据。

但问题是,当我发送请求时,互联网并不总是可用,同时我也无法阻止用户更新桌面数据
到目前为止,这就是我的想法,以确保在互联网可用时同步数据。

enter image description here 我的方向对不对?
如果没有,我希望你们让我走上正确的道路,以专业的方式实现我的目标。
关于此类主题的任何链接将不胜感激。

最佳答案

在这种情况下,有用的模式是假设默认情况下发送数据是异步的。收集后的数据存储在某个中间结构中,等待合适的时刻发送。我认为队列可能很有用,因为它可以作为数据库的后端,并防止在发送服务器发生故障时丢失数据。单独的线程(例如作业)检查队列中的数据,如果存在,则读取它们并尝试发送。如果发送正确执行,则数据将从队列中删除。如果发生故障,数据将保留在队列中,并尝试在下一次发送它们。

关于Java:在网络中断时在线更新数据的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554108/

相关文章:

java - Spring MVC 图像不显示

java - 带有 Hibernate 4.2 错误 : setCharacterStream(ILjava/io/Reader;J)V is abstract 的 C3p0

java - 在 Linux 上哪里可以放置 .jar 文件?

java - 有没有办法实现无锁的解决方案来保证跨多个实例的数据完整性

iphone - 如何处理通讯录变更

ios - Azure 离线数据同步性能

java - 请求通过 https 加密?

java - 在什么情况下 CLOCK_MONOTONIC 可能不可用

c# - 如何通过同步实现 C# Winforms 数据库应用程序?

ios - 客户端-服务器数据同步算法