Summary: While configuring queue managers for JDBC-XA transactions on Windows, you might hit with an issue like “The system could not dynamically load the DLL” on Windows systems. This blog is to fix such issues.

Error encountered while restarting the queue manager
AMQ7626: XA resource manager initialization failure. Refer to the error log for
more information.

Error from queue manager error logs:
AMQ6255: The system could not dynamically load the DLL
‘C:\LewisHomewoodsMQDspmqverTestData\exits64\jdbcora12.dll’.

EXPLANATION:
This message applies to Windows systems. The
DLL’C:\LewisHomewoodsMQDspmqverTestData\exits64\jdbcora12.dll’ failed to load
as it is probably a 32-bit DLL, a 64-bit DLL is required. The following message
gives details of the original failure.
ACTION:
Supply the name of a 64-bit DLL.

Typical scenario :
-Configure a queue manager with XA resource manager properties typically as shown in the below snapshot.
JDBC-XA configuration for queue manager

-Try to restart the queue manager in a normal way. For instance: “strmqm QM1” and you might see the errors mentioned above.

Solution
Start the queue manager interactively using “-si” option to get rid of the DLL related error.
For instance say your queue manager is ‘QM1’, start the queue manager as below :
strmqm -si QM1

Note: This option is available on IBM MQ for Windows only. I observed the issue while doing JDBC configuration with IBM MQ V8006, MQ 9001 on Windows.

Leave a Reply