JAVA Support

IBM MQ classes for JMS

IBM® MQ classes for Java Message Service (JMS) is the JMS provider that is supplied with IBM MQ. For the HPE NonStop platform, JMS applications are typically run as standalone programs. The IBM MQ JMS provider has the ability to run in a Java EE environment.

IBM MQ classes for JMS support bindings connections to a local queue manager, and client connections to a local or remote queue manager.

An IBM MQ JMS sample program and installation verification test (IVT) is available in the following directory:

mqinstall/opt/mqm/java/bin/IVTRun 

For more information on how to run this test, see https://www.ibm.com/docs/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q031740_.html in IBM Documentation.

IBM MQ classes for Java

IBM MQ classes for Java allow a Java application to connect directly to an IBM MQ queue manager.

IBM MQ classes for Java support bindings connections to a local queue manager and client connections to a local or remote queue manager.

An IBM MQ Java sample program and installation verification test (IVT) is available in the following directory:

mqinstall/opt/mqm/samp/wmqjava/samples/MQIVP.class 

For more information on how to run this test, see https://www.ibm.com/docs/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q030690_.html in IBM Documentation.

IBM MQ Java for HPE NonStop requires HPE NonStop Server for Java 7 or later.

Global transactions and TMF

The IBM MQ Classes for Java and JMS on HPE NonStop Server support the use of global TMF transactions. A global transaction is a TMF transaction that is started and ended by the user application. TMF transactions of this type can be started using either the JTA UserTransaction interface or the com.tandem.tmf.Current interface. IBM MQ Classes for Java and JMS use a global transaction for messaging operations if one is active on the thread and syncpoint operation is enabled (that is, for Java Bindings, syncpoint must be requested on the get/put operation. For JMS, the underlying session must be transactional). Global transactions must be committed or rolled back by the user application.