我需要通过扩展 Symmetric DS 提供的接口(interface)来扩展它的功能。有谁知道开发流程应该是什么?在文档中,它只解释了将 JAR 文件(包含扩展接口(interface)的类)放在哪里以及如何将它们添加到 spring 上下文中,但没有解释如何开发它们。即需要哪些库来获取接口(interface)以及应遵循哪些流程来开发/测试。每次修改构建jar文件然后将其复制到symmetryds服务器文件夹中进行测试似乎非常麻烦。
请问有人有这方面的经验吗?谢谢
最佳答案
在默认包中扩展类DatabaseWriterFilterAdapter
,即在实现顶部没有package ...;
。如果您需要访问数据库,请实现接口(interface) ISymmetricEngineAware
并覆盖其 setter void setSymmetricEngine(ISymmetricEngine)
,Spring 在初始化时将调用该 setter。命名您的编写器过滤器实现,例如 MyWriterFilter
。
重写一个或两个方法 boolean beforeWrite(DataContext, Table, CsvData)
或 boolean afterWrite(DataContext, Table, CsvData)
实现任何必要的转换。
找到文件 ftp-extensions.xml
并在同一目录中添加子目录 conf
。将文件 symmetry-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>
像任何其他类一样,使用 jUnit 测试和一些功能测试来测试类 MyWriterFilter
,作为 symmetryD 为分布式系统执行同步的一部分。
关于java - 对称 DS 和 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39374565/