A Message Queue Broker Using JDBC Persistence Does Not Function After the Backend Database is Restarted
(Doc ID 1126605.1)
Last updated on FEBRUARY 15, 2023
Applies to:Oracle GlassFish Server - Version 2.1 to 3.1.2 [Release 2.1 to 3.1]
Sun GlassFish Message Queue - Version 3.7u2 and later
Information in this document applies to any platform.
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!