SymmetricDS Android 演示都注册但不同步

SymmetricDS Android demos both register but do not sync

(来自 SymmetricDS 论坛的 x-post)

您是否有使用 SymmetricDS 3.8 将 Android 应用程序与演示根节点同步的工作示例?我已经完成了 JumpMind 的两个示例,但都以 ECONNREFUSED against localhost:31415.

失败

看起来即使他们知道如何在另一台机器上向根节点注册,他们也会尝试在本地主机上与其同步。

以下是如何构建和(未成功)运行 两个现有示例的演练。

示例 1:

Jumpmind's original demo from 2012 使用了记事本应用程序,许多步骤假设您正在 运行 正在使用 Eclipse 并拥有其 Pro 版本。在现代 Android Studio 中使用免费软件版本的 SymmetricDS 进行编译需要一些技巧。

示例 2:

Jumpmind's newer sample 包括对文件同步的支持,我现在不关心这个。但它应该开箱即用地对付演示节点 corp-000。至少对我来说,不是。

这是你必须做的:

已解决。对于遇到类似问题的任何人来说,问题是双重的。

  1. 客户端从服务器获取同步 url。演示服务器在本地主机上指定了一个 sync-url。
  2. (错误的)同步 URL 持续存在于 sym 表中,显然在客户端 服务器上。

解法:

如果您 运行 正在 Linux,请随时 use my scripted demo server。它将 sync-url 设置为列表中的第一个 IP 地址而不是 localhost。

否则:

  1. 停止您的客户端和服务器。
  2. 演示根节点在 corp-000.properties 的本地主机上配置了 SYNC URL。这是你问题的根源。将其更改为有意义的 IP 地址。也使用非标准端口,以帮助说明问题——这意味着将 --port xxxx 添加到您用于 运行 根节点的命令中。
  3. 删除并重新创建您的根节点数据库。我不确定这里有什么陈旧的东西,但在新地址上重新 运行 似乎还不够。可能有另一种方法来刷新它,但重新开始是最简单的。
  4. 删除您的 android 节点数据库。我用了 "adb shell rm -rf /data/data/com.jumpmind.*"
  5. 重新运行你的服务器和客户端。