This content has been marked as final. Show 3 replies
You should use at least 4.4u2 for there are important improvements in 4.4u2 and 4.5 for OpenMQ enhanced cluster support.
The broker provides database connection validation capability. If a database connection fails on validation, the connection will be destroyed and a new connection will be created where the broker relies on the underline database driver ConnectionPoolDataSource to return a valid connection. So you should use a ConnectionPoolDataSource for imq.persist.jdbc.oracle.driver.
In case of node failure, it depends on how transparent to the application (broker) layer from the underline database and driver. When a SQLException occurs, the broker attempts to rollback the transaction and retry the operation based on a retry strategy that is completely vendor dependent (not using JDBC4 yet). Therefore it's possible not all retryable errors are captured. If the failed operation can not be retried, it will be propagated up.
You can download latest OpenMQ binary and source at
Is a final build of 4.4u2 available yet, either the open source (OpenMQ) or Sun System Message Queue version? I've also looked for a v4.5 of Sun System Message Queue version, but can't find this. (we may be looking for commercial support hence looking at Sun System Message Queue version)
( this link states 4.4u2 its not yet available, but is dated from May - http://forums.sun.com/thread.jspa?threadID=5435090 )
Do you know if there is any support within 4.4 or 4.5 for Fast application Failover (FAN) the event based mechanism used to communicate Oracle RAC node failure? Or any other Oracle specific functionality?
Finally, is there a mechanism for switching off the retry behaviour, such that the application can take responsibility for all retry behaviour?
4.4u2 has been released with GlassFish 3.0.1 and 2.1.1 patch 7. The latest 4.5 build are available at
You can specify any valid Oracle JDBC driver URL via broker property
and any other valid Oracle JDBC driver properties,
However not all Oracle features that can be specified by these have been tested with MQ.
The retry logic is internal to the broker and currently not pluggable. However certain JDBC driver may provide interface to intercept SQLException.