A Message Queue Broker Using JDBC Persistence Does Not Function After the Backend Database is Restarted (Doc ID 1126605.1)

Last updated on NOVEMBER 05, 2016

Applies to:

Oracle GlassFish Server - Version 2.1 to 3.1.2 [Release 2.1 to 3.1]
Sun Java System Message Queue - Version 3.7u2 and later
Information in this document applies to any platform.
***Checked for relevance on 05-Jun-2012***
***Checked for relevance on 30-Jan-2013***

Symptoms

The Message Queue (MQ) Broker can use a database as its message persistence store instead of its default file based store.  In such a configuration, the broker uses JDBC to interact with the database.

The MQ broker uses a default JDBC configuration depending on which vendor's database software is being used.  In the case of Oracle and MySQL databases, the default JDBC DataSource chosen is the JDBC driver's ConnectionPoolDataSource implementation. 

Unfortunately, when using connections obtained from a ConnectionPoolDataSource, any restart of the database, or a failure of the connection for other reasons, can render the MQ Broker unresponsive.

Therefore, if you find that:

Then, potentially, you may have encountered this problem.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms