Oracle GlassFish Message Queue 4.4.2 Administration Guide

JDBC-Based Persistence Properties

Table 17–7 lists the broker properties related to JDBC-based persistence. The first of these properties, imq.persist.jdbc.dbVendor, identifies the database vendor being used for the broker’s persistent data store; all of the remaining properties are qualified by this vendor name.

Table 17–7 Broker Properties for JDBC-Based Persistence

Property 

Type 

Default Value 

Description 

imq.persist.jdbc.dbVendor

String 

None 

Name of database vendor for persistent data store:  

    hadb: HADB (Oracle Corporation)


    derby: Java DB (Oracle Corporation)


    oracle: Oracle (Oracle Corporation)


    mysql: MySQL (Oracle Corporation)


    postgresql: postgreSQL


imq.persist.jdbc.connection.reaptime

Integer 

300 

The interval in seconds between attempts to close unnecessary database connections. 

imq.persist.jdbc.max_connections

Integer 

The maximum number of connections that should be opened to the database. The Message Queue database connection pool manager uses this value as a guide when creating new connections to the database. 

imq.persist.jdbc.min_connections

Integer 

The number of connections that are opened to the database when the Message Queue database connection pool is initialized, and the minimum number of connections that are to be kept open when unnecessary connections are closed. 

imq.persist.jdbc.connection.timeoutIdle

Boolean 

true

Should the Message Queue database connection pool manager considers the age of a connection in the pool? 

When true, the pool manager operates as follows:

  • When closing unnecessary database connections at each imq.persist.jdbc.connection.reaptime interval, the pool manager destroys any connections in the pool that have been idle for a period longer than imq.persist.jdbc.connection.reaptime seconds, and attempts to replace them with new connections.

  • When getting a connection from the pool, the pool manager destroys the connection if it has been idle for a period longer than imq.persist.jdbc.connection.reaptime seconds and replaces it with a new connection.

imq.persist.jdbc.connection.validateOnGet

Boolean 

true for brokers in enhanced clusters; otherwise, false

Should the Message Queue database connection pool manager perform extra validation when it gets a connection from the pool? 

Normally, the pool manager validates a connection it gets from the pool by checking whether the connection is closed and, if possible, by checking whether a connection error has occurred on the connection. 

When this property is set to true, the pool manager performs these additional validation checks:

  • For JDBC 4 connections, check whether the connection is valid.

  • Make the validation query specified by imq.persist.jdbc.connection.validationQuery on the connection.

imq.persist.jdbc.connection.validationQuery

String 

per vendor 

The validation query for the Message Queue database connection pool manager to use when imq.persist.jdbc.connection.validateOnGet is set to true.

imq.persist.jdbc.connection.limit

Integer 

5

The maximum number of connections that can be opened to the database. 

This property is deprecated and may become unsupported in a future release of Message Queue. 

imq.persist.jdbc.vendorName.driver

String 

per vendor 

Java class name of JDBC driver, if needed, for connecting to database from vendor vendorName

imq.persist.jdbc.vendorName.opendburl

String 

None 

URL for connecting to existing database from vendor vendorName

Applicable when driver is used to connect to database. 

imq.persist.jdbc.vendorName.createdburl [Optional]

String 

None 

URL for creating new database from vendor vendorName

Applies for embedded database, such as Java DB. 

imq.persist.jdbc.vendorName.closedburl

String 

None 

URL for closing connection to database from vendor vendorName

Applies for some embedded databases, such as Java DB. 

imq.persist.jdbc.vendorName.user

String 

None 

User name, if required, for connecting to database from vendor vendorName

For security reasons, the value can instead be specified using command line options imqbrokerd -dbuser and imqdbmgr -u.

imq.persist.jdbc.vendorName.needpassword

Boolean 

false

Does database from vendor vendorName require a password for broker access?

If true, the imqbrokerd and imqdbmgr commands will prompt for a password, unless you use the -passfile option to specify a password file containing it.

imq.persist.jdbc.vendorName.password, [Should be used only in password files]

String 

None 

Password, if required, for connecting to database from vendor vendorName

imq.persist.jdbc.vendorName.property.propName

String 

None 

Vendor-specific property propName for database from vendor vendorName

imq.persist.jdbc.vendorName.tableoption

String 

None 

Vendor-specific options passed to the database when creating the table schema.