I need to implement database synchronisation in a Javaapplication and I started to use SymmetricDS which is a mature tool and allows to synchronise differents DBMS.
I played a little with SymmetricDS but I can't achieve my needs, so I have a few questions about this tool.
First I will expose the context of the application :
I developed a desktop application written in Java (JavaFX 2.0 + H2 database + Hibernate), I'm fairly new with Java but I managed to build a MVC architecture and finally finish a stand alone version of my application.
Now, I have to synchronize between multiple instances of the application installed on different computers.
I have a "master" MySQL database running on an external server, which also run SymmetricDS as "master" engine.
The applications uses H2 Database and ClientSymmetricEngine.
And I need to synchronize all the data between clients.
I managed to set up a more or less functional system using SymmetricDS but there are some sticking points:
Is there a way to simply implement the "last update wins" strategy instead of the "last sync wins" used by default ?
Is there a more complete documentation or step-by-step guide to embed SymmetricDS in an existing application ?
How I can extend symmetrics pull and push jobs without using Spring Framework (i need to freeze the application during synchronisation) ?
What happens if I purge by myself the tables :
DATA DATA_EVENT OUTGOING_BATCH INCOMING_BATCH DATA_GAP NODE_HOST_STATS NODE_HOST_CHANNEL_STATS NODE_HOST_JOB_STATS after each a success push/pull ? This table grows quickly after a few minutes even if there is no changes to sync and this makes my application slow.
Thx for reading.
JBRTRND