Sun Java System Message Queue 4.1 Administration Guide

Configuring a JDBC-Based Store

To configure a broker to use JDBC-based persistence, you set JDBC-related properties in the broker’s instance configuration file and create the appropriate database schema. The Message Queue Database Manager utility (imqdbmgr) uses your JDBC driver and the broker configuration properties to create the schema and manage the database. You can also use the Database Manager to delete corrupted tables from the database or if you want to use a different database as a data store. See Database Manager Utility for more information.


Note –

Example configurations are available for HADB, Java DB (Apache Derby), Oracle, and MySQL database products. The location of these files is platform-dependent, and is listed under “Example applications and configurations” in the relevant tables of Appendix A, Platform-Specific Locations of Message Queue Data. In addition, examples for Oracle are provided as commented-out values in the instance configuration file, config.properties, and for MySQL in the default broker configuration file, default.properties.


ProcedureTo Configure a JDBC-Based Data Store

  1. Set JDBC-related properties in the broker’s instance configuration file.

    The relevant properties are discussed under JDBC-Based Persistence and listed in Table 14–6. In particular, you must set the broker’s imq.persist.store property to jdbc (see Persistence Properties).

  2. Place a copy of, or a symbolic link to, your JDBC driver’s .jar file in the following location, depending on your platform:

      Solaris: /usr/share/lib/imq/ext/


      Linux: /opt/sun/mq/share/lib/


      Windows: IMQ_VARHOME\\lib\\ext


    For example, if you are using HADB on a Solaris system, the following command copies the driver’s .jar file to the appropriate location:

       
    cp  /opt/SUNWhadb/4/lib/hadbjdbc4.jar  /usr/share/lib/imq/ext
    

    The following command creates a symbolic link instead:

       
    ln  -s  /opt/SUNWhadb/4/lib/hadbjdbc4.jar  /usr/share/lib/imq/ext
    
  3. Create the database schema needed for Message Queue persistence.

    Use the imqdbmgr create all command (for an embedded database) or the imqdbmgr create tbl command (for an external database); see Database Manager Utility.

    1. Change to the directory where the Database Manager utility resides, depending on your platform:

        Solaris: cd /usr/bin


        Linux: cd /opt/sun/mq/bin


        Windows: cd IMQ_HOME\\bin


    2. Enter the imqdbmgr command:

         
      imqdbmgr create all
      

      Note –

      If you use an embedded database, it is best to create it under the following directory:

         
      .../instances/instanceName/dbstore/databaseName
      

      If an embedded database is not protected by a user name and password, it is probably protected by file system permissions. To ensure that the database is readable and writable by the broker, the user who runs the broker should be the same user who created the embedded database using the imqdbmgr command.