I configured the IBM MQ resource adapter 9.2.5.0 in Wildfly 20.0.0 as follows:
<resource-adapter id="wmq.jmsra.rar">
<archive>
wmq.jmsra.rar
</archive>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="jms/IBMMQ_CONNECTIONFACTORY" pool-name="ibmmq-connection-definition">
<config-property name="hostName">${env.HOSTNAME}</config-property>
<config-property name="port">${env.PORT}</config-property>
<config-property name="channel">${env.CHANNEL}</config-property>
<config-property name="transportType">CLIENT</config-property>
<config-property name="queueManager">${env.QUEUE_MANAGER}</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
When using this connection factory to create an MQ connection, I get the following error:
MQJCA1011: Failed to allocate a JMS connection
...
Caused by: javax.resource.ResourceException: IJ000455: Wrong ManagedConnectionFactory sent to allocateConnection (Pool=com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl@f85b573c, MCF=com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl@f85b573c)
at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:784) ~[?:?]
at com.ibm.mq.connector.outbound.ConnectionFactoryImpl.createManagedJMSConnection(ConnectionFactoryImpl.java:309)
APAR IT37469 was the starting point here. It addressed some inconsistencies with data types returned by getters for Resource Adapter properties - forcing them to return object types (as required by the Java EE specification) rather than primitives (which many, but not all Application Servers tolerated).
Unfortunately, the fix was incompletely applied to the CD release - so 9.2.5 has the issue reported and as explained very well by Felix Siegrist.
The fix has been corrected for MQ 9.3.0 - see APAR IT40764