Log in

entries friends calendar profile The Pædantic Programmer Previous Previous Next Next
MaxDB Synch Manager, Part the Fourth - The Pædantic Programmer's LiveJournal
MaxDB Synch Manager, Part the Fourth

This series began at Part the First. If you have not read this yet, please do so now.

My partner, Ulf just found this document that is distributed with MaxDB. It is licensed under the GPL:


More perusing found this one, licensed the same way:

And a bit more looking found this. Also GPL.

I was also provided with a tutorial of the SyncMan system by SAP

I am currently running through these documents and taking notes here.
If you know something I don't, please feel free to send me email at

The Synchronization Manager does not seem to have any way yet to
reliably synchronize with a mobile system. But it seems to be a very
high priority item.

The Synchronization Manager is built on Java and implements the
"Java Message Service".

Unidirectional synchronization does not allow the client (MySQL or
MinDB) to modify the data. All synchronizations with MySQL and MinDB
are currently Unidirectional.

  1. SyncMan Prerequisites

    1. Obtain and unpack Eclipse

      The SynchManager depends on eclipse. Obtain and extract the v3.1
      linux + gtk+2 package by following these steps:

      $ cd /tmp
      $ wget http://tinyurl.com/c68tr # eclipse v3.1, mirror at calvin.edu
      $ tar xfvz eclipse-SDK-3.1-linux-gtk.tar.gz

    2. Get all of the jar files and shared libraries into the right places

      A number of java .jar and shared library .so files from Eclipse
      are needed for the Syncman product to work correctly. The
      following commands will place the .jar and .so files in the
      correct location.

      $ cd /tmp
      $ mkdir eclipse-swt
      $ cd eclipse-swt
      $ unzip ../eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.1.0.jar
      $ for i in runtime jface swt text osgi
          find /tmp/eclipse-swt -iname "*$i*.so"  \
            -exec cp \{\} /var/opt/sdb/data/app/syncman/extern \;
          find /tmp/eclipse -iname "*$i*.jar"  \
            -exec cp \{\} /var/opt/sdb/data/app/syncman/extern \;

    3. Ensure that your PATH variable includes /opt/sdb/programs/bin and /opt/sdb/programs/pgm

      Edit your ~/.bash_profile file

      $ editor ~/.bash_profile

      And ensure that the profile file contains the following lines

      export PATH

      quit your editor now.

    4. Create the example databases

      To create the example databases used in the
      SyncManExample pdf above
      , run the script installed along
      with MaxDB:

      $ /opt/sdb/programs/app/syncman/example/createexampledatabases

    5. Ensure that your user is in the sdba user group

      $ sudo adduser $USER sdba

  2. The Message Server

    1. Configuring the Message Server

      Before we run the Message Server itself, let's first run
      the Message Server configuration script. This script
      generates the ~/.sdb/syncman/.syncmanacc file,
      which will be used by the message server to determine
      runtime configuration.

      $ msgserver config

      The config program will prompt you for some information
      about your system's configuration. It is safe to leave
      all parameters default except for the database name.
      Change that to DBMASTER, which was created and
      configured by the createexampledatabases
      script, above.

      database host []: 
      database name [MAXDB1]: DBMASTER
      database user [DBSERVICE]: 
      password of database user [SECRET]: 
      message server admin password [MSGSERVERADMIN]: 
      message server admin port [7220]: 
      JNDI port [7221]: 
      JMS port [7222]: 

    2. Running the Message Server

      Now that the config file is in place, let's start the msgserver.

      $ msgserver start

      com.sap.sdb.msgServer.util.ServerException: conflicting specifications: database url, database user name, database password, admin password, or one of the ports conflicts with database key.

      at com.sap.sdb.msgServer.Server.(Server.java:254)
      		    at com.sap.sdb.msgServer.Server.main(Server.java:134)

      com.sap.sdb.msgServer.util.ServerException: conflicting specifications: database url, database user name, database password, admin password, or one of the ports conflicts with database key.

      As you can see, this did not work all that well... And the error
      message is not very helpful.

  3. Synchronization Manager GUI

    1. Configuring the Synchronization Manager GUI

      The configuration file that the syncman_caller.py script
      uses to store Java install information is called ~/.sdb/syncman.cfg and can be
      generated using syncmanjconf

      $ sudo touch ~/.sdb/syncman.cfg

      $ sudo chown -R $USER ~/.sdb

      $ syncmanjconf

      path to java executable: /opt/j2re1.4.2_05/bin

      path to j2ee.jar file: /opt/SUNWappserver/lib

      $ cat ~/.sdb/syncman.cfg

      J2EEPATH = /opt/SUNWappserver/lib

      JAVAPATH = /opt/j2re1.4.2_05/bin

    2. Running the Synchronization Manager GUI

Tags: , ,

3 comments or Leave a comment
From: (Anonymous) Date: November 9th, 2005 04:45 pm (UTC) (Link)

busted links for PDFs

Interesting info - I've been looking for a product like this for replication. The links to the PDFs you mentioned at the top of your article don't work. Any chance on getting those fixed? Thanks!
cjcollier From: cjcollier Date: November 9th, 2005 07:38 pm (UTC) (Link)

Re: busted links for PDFs


Funny that you mention this. My server went down and I lost a bunch of the work on this, but I *just* published the "final" version of the articles on dev.mysql.com:


Let me know what you think!
From: (Anonymous) Date: May 6th, 2007 09:32 pm (UTC) (Link)

my quiz for all

You are The Best!!!

3 comments or Leave a comment