java - 在 SymmetricDS 文件同步中,通过从数据库 bean shell 脚本获取动态设置目标基本目录路径

标签 java file synchronization beanshell symmetricds

我使用SymmetricDS在客户端和服务器节点之间进行文件同步,我想从我的数据库或文件中获取文件同步目标路径,该路径对于每个客户端节点都是不同的。

我研究了一下,发现我们可以使用 shell 脚本来更改 before_copy_script 或 after_copy_script 内的参数,如 targetBaseDir 、 targetFileName 、 targetRelativeDir 等 请参阅http://www.symmetricds.org/doc/3.5/html/configuration.html#filesync-beanshell

这里我有一个数据库表中每个节点的 targetRelativeDir 路径,我必须使用 beanshell 获取它并将其设置为参数 targetRelativeDir

请给我任何指示来完成此任务。

最佳答案

您的 BSH 将类似于以下内容。

String nodeId = engine.getNodeService().findIdentityNodeId();
targetRelativeDir  = engine.getSqlTemplate().queryForString(
    "select targetRelativeDir from myTable where target_node=?", new Object[] {nodeId});

我认为这会起作用,但我还没有测试过。

关于java - 在 SymmetricDS 文件同步中,通过从数据库 bean shell 脚本获取动态设置目标基本目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22067456/

相关文章:

java - session 同步的目的是什么

java - 线程中的异常 "main"java.net.UnknownHostException :

java - 为什么更改 WEB-INF/web.xml 不会导致 tomcat 重新加载上下文?

JavaEE : Need better deployment system

c - 比较2个单链接列表中的元素并进行程序崩溃(通常)

ios - NSURL 不会从字符串初始化为远程字体文件 (.TTF)

java - 在 android 和 windows 中使用 sha1prng 给出不同的序列

file - 我想要 GridFS 的好处,但主要存储 16MB 以下的文件

MySQL简单表同步?

java - 为什么要锁定线程安全集合?