Симметричные DS и Java

Мне нужно расширить функциональность Symmetric DS, расширив интерфейсы, которые она предоставляет. Кто-нибудь знает, каким должен быть процесс разработки? В документации только объясняется, куда поместить файл JAR (содержащий классы, расширяющие интерфейсы) и как добавить их в контекст Spring, но не объясняется, как их разрабатывать. т. е. какие библиотеки необходимы для получения интерфейсов и какой процесс следует выполнять для разработки/тестирования. Кажется очень обременительным каждый раз изменять и создавать файл jar, а затем копировать его в папку сервера symmetrds для тестирования.

У кого-нибудь есть опыт в этом, пожалуйста? Благодарность


person jimny    schedule 07.09.2016    source источник
comment
какой интерфейс вы хотите реализовать? Вы используете автономный сервер или пакеты в файл войны?   -  person Boris Pavlović    schedule 07.09.2016
comment
Мне нужно будет выполнить некоторые пользовательские преобразования, поэтому я думаю, что мне нужно будет реализовать IDatabaseWriterFilter. Я использую отдельный сервер.   -  person jimny    schedule 08.09.2016


Ответы (1)


Расширьте класс DatabaseWriterFilterAdapter в пакете по умолчанию, т.е. не package ...; в верхней части реализации. Если вам нужно получить доступ к базе данных, реализуйте интерфейс ISymmetricEngineAware и переопределите его установщик void setSymmetricEngine(ISymmetricEngine), который будет вызываться Spring при инициализации. Назовите свою реализацию фильтра записи, например, 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 и некоторых функциональных тестов как части симметричных D, выполняющих синхронизацию для вашей распределенной системы.

person Boris Pavlović    schedule 08.09.2016