Define a stanza in the broker's queue manager qm.ini file for each new JMS provider, where the JMS provider can be specified by a JMS node included in a message flow that is running on the broker.
The parameters that are defined in XAOpenString are comma delimited and positional. Represent missing optional parameters by a comma if you include other parameters later in the string.
The following stanza entry is an example that you can add when using WebSphere® MQ Java™ as the JMS provider:
XAResourceManager:
Name=WBIWMQJMS
SwitchFile=/install_dir/lib/libDynJMSSwitch.so
XAOpenString=<Initial Context Factory>,
<location of JNDI bindings>'
<LDAP Principal>,
<LDAP Credentials>,
<Recovery Connection Factory Name>,
<JMS Principal>,
<JMS Credentials>
ThreadOfControl=THREAD
Switch files are installed in the install_dir /lib directory. To simplify the contents of the qm.ini file, create a symbolic link to the switch file for the queue manager to retrieve.
On all Linux and UNIX systems except Linux on x86, set up links in the /var/mqm/exits64 directory.
On Linux on x86, set up links in the /var/mqm/exits directory.
The file name for all platforms is libDynJMSSwitch.so.
ln -s install_dir/lib/libDynJMSSwitch.so /var/mqm/exits64/libDynJMSSwitch
The values for the Initial Context factory and Location of JNDI bindings in the stanza must match the values that you specified in the JMS or SOAP nodes in the message flows.
All LDAP parameters must match the values that you specified on the mqsicreatebroker or mqsichangebroker command.
The Recovery Factory Name must match a Queue Connection Factory name that is created in the JNDI administered objects. If you do not specify a name, a default factory called recoverXAQCF is used. In either case, this value must refer to a JNDI administered object that has already been created.
The JMS Principal and JMS Credentials must be configured together.
XAResourceManager:
Name=XAJMS_PROVIDER1
SwitchFile=/opt/var/mqsi/lib/libDynJMSSwitch.so
XAOpenString= com.sun.jndi.fscontext.RefFSContextFactory,
/Bindings/JMSProvider1_Bindings_Directory,
,
,
,
myJMSuser1,
passwd
ThreadOfControl=THREAD
where: