IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Configuring JMS and SOAP nodes to support XA coordinated transactions

To include nodes that use JMS transport, such as the JMS and SOAP nodes, in XA coordinated transactions, you must complete additional configuration.

If you require transaction coordination, choose a JMS provider that conforms to the Java™ Message Service Specification, version 1.1 and that supports the JMS XAResource API through the JMS session.

If you specify your own JMS provider using the JMSProviders configurable service, set the jmsProviderXASupport attribute to true to indicate that the selected JMS provider supports XA coordinated transactions. If you set this property to true, and the selected JMS provider does not support XA transactions, an exception is raised. If you set this property to false, but the Transaction mode property on the node is set to Yes and the Coordinated Transaction message flow property is selected, an exception is raised.

If the message designer has specified a non-XA-compliant provider, the non-transactional mode only is supported. In this case, you must set the Transaction mode property to None for all JMS and SOAP nodes that use JMS transport.

To configure the nodes:

  1. Switch to the Integration Development perspective.
  2. Set the message flow property Coordinated Transaction to yes in the BAR file properties.
  3. For each node that uses JMS transport that is required in the XA coordinated transaction, set the Transaction mode property to Yes in the message flow editor.
  4. Create a Queue Connection Factory and use either the default name, recoverXAQCF, or supply your own name. See the JMSInput or JMSOutput node for further details about creating JNDI administered objects.
  5. On distributed systems, you must set up a stanza for each JMS provider that you want to use, before deployment.

    The following table shows the JMS provider switch files that are provided on each operating system.

    Platform 32-bit file 64-bit file

    AIX®

      libDynJMSSwitch.so

    HP-Itanium

      libDynJMSSwitch.so

    Linux on POWER®

      libDynJMSSwitch.so

    Linux on IBM® z Systems

      libDynJMSSwitch.so

    Linux on x86

    libDynJMSSwitch.so  

    Linux on x86-64

      libDynJMSSwitch.so

    Solaris on SPARC

      libDynJMSSwitch.so

    Solaris on x86-64

      libDynJMSSwitch.so

    Windows on x86

    DynJMSSwitch.dll  

    Windows on x86-64

    DynJMSSwitch32.dll DynJMSSwitch.dll

    Select the appropriate link for details of this task on the operating system, or systems, that your enterprise uses:

    For further information, see the following topics:

    z/OS platformOn z/OS®, the only JMS provider that is supported is the IBM WebSphere MQ Java Client, and the only transport mode supported for that client is BIND mode; no further configuration steps are required.

    Note: From IBM Integration Bus Version 9.0.0.6, JMS XA registration is performed using the dynamic XA call sequence using switch files containing the identified "Dyn" for example DynJMSSwitch.dll. In order to provide compatibility with existing installations, switch files with the previous names have been provided but these are copies of the dynamic registration switch file. The version of the switch file used by the QueueManager must match the version being used by the integration node. The use of mismatched switch files is not supported and is likely to cause mixed results when processing XA JMS transactions.
The JMS provider might supply additional JAR files that are required for transactional support; for more informaiton, see the documentation that is supplied with the JMS provider. For example, on distributed systems, the WebSphere MQ JMS provider supplies an extra JAR file, com.ibm.mqetclient.jar.

You must add any additional JAR files to the broker shared_classes directory:

For more information, see the section about making the JMS provider client available to the JMS nodes in JMSInput node.


ac28600_.htm | Last updated Friday, 21 July 2017