This topic contains the following sections:
Use the JMSOutput node to send messages to JMS destinations. The JMSOutput node acts as a JMS message producer and can publish all six message types that are defined in the Java Message Service Specification, version 1.1. Messages are published by using method calls, which are described in the JMS specification.
The JMSOutput node is represented in the workbench by the following icon:
Message flows that handle messages received from connections to JMS providers must always start with a JMSInput node. If you include the JMSOutput node in a message flow, you do not need to include a JMSInput node, but if you do not include a JMSInput node, you must include the MQJMSTransform node to transform the message to the format that is expected by the JMSOutput node.
If you are propagating JMS messages and creating a message flow to use as a subflow, you must use an instance of the JMSOutput node as the last node in order to create an out terminal for the subflow.
For distributed systems, copy the java .jar files and any native libraries for the JMS provider client into the broker shared-classes directory. For example, on Windows, C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes. This ensures that the java class path for the JMS nodes is set correctly.
queue://QM_mn2/myJMSQueue4In this case, the value is the JMS provider specific representation of a JMS Destination for the WMQSeries JMS Provider.
jndi:\\jmsQ4where jmsQ4 is the name of the JNDI administered object.
There is a slight performance overhead using this method because of the need to look up the administered object in JNDI.
If the intention is to allow the JMSOutput node to set the JMSReplyTo property dynamically in the outgoing message, leave the Reply To Destination attribute blank, and set the JMSReplyTo value in the MbMessage using a Compute node or a JavaCompute node.
The node resolves the name of the JNDI administered object that is supplied in either Publication Topic or Destination Queue, and sends the message to that JMS Destination.
When you have put an instance of the JMSOutput node into a message flow, you can configure it by right-clicking the node in the editor view and clicking Properties. The node's basic properties are displayed in the properties dialog.
All mandatory properties that do not have a default value defined are marked with an asterisk on the properties dialog box.
Configure the JMSOutput node as follows:
com.sun.jndi.fscontext.RefFSContextFactory, which defines the file-based initial context factory for the WebSphere MQ JMS provider.
To identify the name of the Initial Context Factory for the JMS provider, refer to the JMS provider documentation.
When you enter a value for Location JNDI Bindings, ensure that it is compliant with the following instructions:
For information about constructing the JNDI administered objects bindings file, refer to the documentation that is supplied with the JMS provider.
The default value is blank, in which case the JMS output message can be regarded as a datagram. If the field is blank, the JMSOutput node does not expect a reply from the receiving JMS client.
Enter a value in milliseconds to specify how long the message will be kept by the JMS provider. The default value 0 is used to indicate that the message should not expire.
Enter a value, where valid values for message priority are from 0 (lowest) to 9 (highest). The default value is 4, which indicates medium priority. Priorities in the range 0 to 4 relate to normal delivery. Priorities in the range 5 to 9 relate to graduations of expedited delivery.
Click Cancel to close the dialog box and discard all the changes that you have made to the properties.
Connect the in terminal of the JMSOutput node to the node from which outbound messages are routed.
Connect the out terminal of the JMSOutput node to another node in the message flow if you want to process the message further, to process errors, or to send the message to an additional destination.
When you include a JMSOutput node in a message flow, the value that you set for Transaction Mode defines whether messages are sent under syncpoint.
The JMS provider can supply additional jar files that are required for transactional support. Refer to the JMS provider documentation. For instance, on distributed systems, the WebSphere MQ JMS provider supplies an extra jar file com.ibm,mqetclient.jar, which must also be added to the broker shared_classes directory. Refer to Making the JMS Provider client available to the JMS Nodes in this topic.
install_dir/bin/ JMSSwitch.dll XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREADWhere
Name is an installation defined name that identifies a JMS provider Resource Manager.
SwitchFile is the file system path to the JMSSwitch library that is supplied in the bin directory of the broker.
The optional parameters are comma separated and are positional. Therefore, any parameters that are missing must be represented by a comma.
<Broker Installation Path>/classes/xarecovery.jar
<Broker Installation Path>/bin
XA cannot use the same queue manager for both the broker and the provider until WebSphere MQ Version 5.3, CSD12 and WebSphere MQ Version 6.0 Fix Pack 1.
Syncpoint control for the JMS provider is managed with RRS syncpoint coordination of the queue manager of the broker. You do not need to modify the .ini file.
The terminals of the JMSOutput node are described in the following table.
Terminal | Description |
---|---|
Failure | The output terminal to which the message is routed if an error occurs. Even if the Validation property is set, messages propagated to this terminal are not validated. |
Out | The output terminal to which the message is routed if it is successfully retrieved from the WebSphere MQ queue. |
Catch | The output terminal to which the message is routed if an exception is thrown downstream and caught by this node. |
The following tables describe the node properties; the column headed M indicates whether the property is mandatory (marked with an asterisk on the properties dialog if you must enter a value when no default is defined), the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the bar file to deploy it).
The Basic properties of the JMSOutput node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Initial Context Factory | Yes | com.sun.jndi.fscontext.RefFSContextFactory | This is the starting point for a JNDI name space. A
JMS application uses the initial context to obtain and look up the connection
factory and queue or topic objects for the JMS provider. The default value is that which is used when WebSphere MQ Java is used as the JMS provider. |
|
Location JNDI Bindings | No | The system path or the LDAP location for the bindings file. | ||
Connection Factory Name | No | The name of the connection factory that is used by the JMSOutput node to create a connection to the JMS provider. |
The Advanced properties of the JMSOutput node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
New Correlation ID | No | This property is selected if a New Correlation ID is required. | ||
Transaction Mode | Yes | No | None | This property is to determine whether the incoming message is received under syncpoint. Valid values are None, local, and global. |
Delivery Mode | No | Non Persistent | Message selector that will filter messages according to the message delivery mode. | |
Message Expiration | No | 0 | This property value is to request that the JMS provider
keeps the output JMS message for a specified time. Values are in milliseconds and the default value 0 is used to indicate that the message should not expire. |
|
Message Priority | No | 4 | This property value assigns relative importance to the message. This value can be used for message selection by a receiving JMS client application or a JMSOutput node. |
The Description properties of the JMSOutput node are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Short Description | No | No | A brief description of the node. | |
Long Description | No | No | Text that describes the purpose of the node in the message flow. |
Notices |
Trademarks |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
ac24830_ |