среда, 7 октября 2009 г.

Репликация с db4o

Как бы попроще организовать репликацию данных между серверами. Вот в чём вопрос.
db4o(http://www.db4o.com) клёвые. Со своим 
dRS Replication System(http://www.db4o.com/about/productinformation/resources/dRS-6.0-tutorial-java.pdf) они могут реплицировать базы через хибернейт соединения типа






       Configuration config1 = new
           Configuration().configure("f1/one_to_one/hibernate1.cfg.xml");
       Configuration config2 = new
           Configuration().configure("f1/one_to_one/hibernate2.cfg.xml");
       ReplicationSession replication =
       HibernateReplication.begin(config1, config2);

Но есть нюанс. Хибернейт сервера на который реплицировали(как, впрочем и сам сервер) - не узнает что данные в базе поменялись(они меняются через другое соединение, другую сессисю -короче через другой хибернэйт). Чтобы сказать серверу мяу про репликацию нужно после проведения репликации сказать серверу мяу как то через его апи.
Апи вызов можно прикрутить к вызову метода слушателя



       ReplicationEventListener listener = new ReplicationEventListener() {
         public void onReplicate(ReplicationEvent event) {
         //та-та....
         };
       };











Комментариев нет:

Отправить комментарий