Two instances of Maestro Sharing a Database

You may configure two or more running copies of Maestro to share the same external users database. Typically the instances of Maestro would be running on different servers, but they could also be running on a single server if they are configured on different port numbers.

Note: you can only share the users database, not the builds database. Each instance of Maestro Build Management must have its own builds data store.

To share the same external users database, perform the following steps:

  1. Install, configure, and start the external database on the server, if necessary.
  2. Stop Maestro. Please see Starting and Stopping Maestro for instructions.
  3. Copy the database client driver file to [maestro_home]/projectserver/lib. Perform this step for each instance of Maestro.
  4. Start Maestro. Please see Starting and Stopping Maestro for instructions.
  5. As an administrative user, login to each instance of Maestro and configure the user database. From the Project Server, click Global Settings.
  6. Click Specify Database for the Users Database. You may have to scroll down in your browser to see the Users Database section of the page.
  7. Fill-in the JDBC URL, JDBC Driver Class, Username, and Password.
  8. Click Change Database and Restart.

The external database must be running and accepting connections or Maestro will not re-start properly.

Example of sharing a database

The following shows how to configure Maestro running on Windows XP and on a Linux server sharing an external Derby database.

On the Linux server, perform the following steps to configure Derby:

  1. Install and configure the external Derby database. Download and unpack Apache Derby.
  2. Set the DERBY_INSTALL environment variable to [derby_home], where [derby_home] is the installation directory of Derby.
  3. Set the DERBY_SERVER_HOST environment variable to the hostname or IP address that will be used for connecting to the database.
  4. From the [derby_home]frameworks/NetworkServer/bin directory execute the following command to set the CLASSPATH:

    setNetworkServerCP.ksh

  5. Then run the following command:

    startNetworkServer.ksh

    Note: On Unix you may want to start it in the background.

    The Derby network server will now be listening on port 1527.

    The default username is user1 with a password of user1.

    On the systems running Maestro, perform the following steps to configure Maestro:

  6. Stop Maestro if it is running. Please see Starting and Stopping Maestro for instructions.
  7. Install the Derby client jar. Copy derbyclient.jar to [maestro_home]projectserver/lib. Perform this step on each system running Maestro.
  8. Configure Maestro to use the external database. Perform these steps on each system running Maestro:
    1. Start Maestro. Please see Starting and Stopping Maestro for instructions.
    2. In a browser navigate to http://[maestro_host]:8080/index.action, where [maestro_host] is the hostname of the server running Maestro.
    3. From the Project Server page, click Global Settings.
    4. Click Specify database under Users Database.
    5. Fill in the form. For example:
      • JDBC URL: jdbc:derby://[derby_host]:1527/maestro-users;create=true where [derby_host] is the URL of the host running Derby, for example, docteam.exist.com.
      • JDBC Driver Class: org.apache.derby.jdbc.ClientDriver
      • Username: user1 (user1 is the default username for Derby)
      • Password: user1 (user1 is the default password for Derby)
    6. Click Change Database and Restart.

      Note: The users database is created relative to the Derby startup directory. Following our example, the users database is located in

      [derby_home]/frameworks/NetworkServer/bin/maestro-users

You are now ready to use the external users database.