A Message Queue Broker Using JDBC Persistence Does Not Function After the Backend Database is Restarted
(Doc ID 1126605.1)
Last updated on JULY 06, 2020
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***
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:
- The MQ Broker is not processing messages, or
- The MQ broker logs (log.txt) contains SQLExceptions or reports errors in performing database updates.
Then, potentially, you may have encountered this problem.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!