How to use an external database?

Supported databases

  • Derby
  • MySQL
  • MS SQL Server
  • Oracle (not yet, but coming soon)

Configure Continuum

Standalone version

To use an external database with Continuum standalone, you must configure datasources in $CONTINUUM_HOME/conf/plexus.xml

          <!--
               Datasources
          -->
          <resource>
            <name>jdbc/users</name>
            <type>javax.sql.DataSource</type>
            <properties>
              <property>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </property>

              <!-- Maximum number of dB connections in pool. Make sure you
                   configure your mysqld max_connections large enough to handle
                   all of your db connections. Set to 0 for no limit.
                   -->
              <property>
                <name>maxActive</name>
                <value>100</value>
              </property>

              <!-- Maximum number of idle dB connections to retain in pool.
                   Set to 0 for no limit.
                   -->
              <property>
                <name>maxIdle</name>
                <value>30</value>
              </property>

              <!-- Maximum time to wait for a dB connection to become available
                   in ms, in this example 10 seconds. An Exception is thrown if
                   this timeout is exceeded.  Set to -1 to wait indefinitely.
                   -->
              <property>
                <name>maxWait</name>
                <value>10000</value>
              </property>

              <property>
                <name>driverClassName</name>
                <value>org.apache.derby.jdbc.EmbeddedDriver</value>
              </property>
              <property>
                <name>url</name>
                <value>jdbc:derby:${plexus.home}/data/users/database;create=true</value>
              </property>
              <property>
                <name>username</name>
                <value>sa</value>
              </property>
              <property>
                <name>password</name>
                <value></value>
              </property>
            </properties>
          </resource>
          <resource>
            <name>jdbc/continuum</name>
            <type>javax.sql.DataSource</type>
            <properties>
              <property>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </property>

              <!-- Maximum number of dB connections in pool. Make sure you
                   configure your mysqld max_connections large enough to handle
                   all of your db connections. Set to 0 for no limit.
                   -->
              <property>
                <name>maxActive</name>
                <value>100</value>
              </property>

              <!-- Maximum number of idle dB connections to retain in pool.
                   Set to 0 for no limit.
                   -->
              <property>
                <name>maxIdle</name>
                <value>30</value>
              </property>

              <!-- Maximum time to wait for a dB connection to become available
                   in ms, in this example 10 seconds. An Exception is thrown if
                   this timeout is exceeded.  Set to -1 to wait indefinitely.
                   -->
              <property>
                <name>maxWait</name>
                <value>10000</value>
              </property>

              <property>
                <name>driverClassName</name>
                <value>org.apache.derby.jdbc.EmbeddedDriver</value>
              </property>
              <property>
                <name>url</name>
                <value>jdbc:derby:${plexus.home}/data/continuum/database;create=true</value>
              </property>
              <property>
                <name>username</name>
                <value>sa</value>
              </property>
              <property>
                <name>password</name>
                <value></value>
              </property>
            </properties>
          </resource>

Webapp

To use an external database with the Continuum webapp, you should configure the datasource in your container.