我需要通过扩展它提供的接口来扩展Symmetric DS功能。有谁知道开发过程应该是什么?在文档中,它只解释了放置JAR文件的位置(包含扩展接口的类)以及如何将它们添加到spring上下文中,但没有解释如何开发它们。即,需要哪些库来获取接口以及开发/测试应遵循的过程。每次修改和构建jar文件然后将其复制到symmetricds服务器文件夹进行测试似乎非常麻烦。
有人有这方面的经验吗?感谢
答案 0 :(得分:2)
在默认包中扩展类DatabaseWriterFilterAdapter
,即在实现顶部没有package ...;
。如果需要访问db实现接口ISymmetricEngineAware
并覆盖其初始化时将由Spring调用的setter void setSymmetricEngine(ISymmetricEngine)
。将您的编写器过滤器实现命名为例如MyWriterFilter
。
覆盖一个或两个方法boolean beforeWrite(DataContext, Table, CsvData)
或boolean afterWrite(DataContext, Table, CsvData)
,实施必要的转换。
找到文件ftp-extensions.xml
并在同一目录中添加子目录conf
。将文件symmetric-extensions.xml
添加到包含内容的conf
子目录:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-lazy-init="true">
<bean id="myWriterFilter" class="MyWriterFilter" />
</beans>
将类MyWriterFilter
测试为任何其他具有jUnit测试的类,并将一些功能测试作为symmetricDs的一部分,为分布式系统执行同步。