Synchronous Oracle WebLogic and IBM MQ
The synchronous IBM MQ and Oracle WebLogic transport nodes allow request and response operations using JMS queues and topics. If the response is not received within a defined period, an exception is thrown.
Identification of appropriate response messages is done with a header field named MESSAGEID. When the request message is put into the queue or topic, the MESSAGEID header is set to a unique value based on the current time and a counter. The response headers must have this same message ID for it to be picked up and processed correctly.
2002.02.25 09:25:53 MQJMS2002E failed to get message from MQ queue
LDR_CNTRL=MAXDATA=0x30000000
export LDR_CNTRLConfiguration properties
The following are the properties of this node:
| Property | Description |
|---|---|
| Runtime Tab | |
| Provider URL | Enter the provider URL of the JMS implementation used. This is the URL to use for JNDI
lookups.
For clustered JMS configurations, use a comma-separated value comprising the host/IP and port of each node in the cluster. For example:
|
| Initial Context Factory | The class name of the initial context factory. This is the starting point for the resolution
of names for naming and directory operations. Select IBM MQ if
you are accessing through an IBM
WebSphere IIOP URL. This sets the class name to
Select File if you are using IBM MQ accessed through a file URL,
as with Oracle WebLogic. This sets the class name to Select WebLogic if you are using Oracle WebLogic JMS. This sets the class name to
|
| Connection Factory | Enter the connection factory name. This is used to retrieve the connection factory from JNDI. A client uses a connection factory to create connections with a JMS provider. Enter any unique identifier for the connection factory. This name must be the same as that configured in the Oracle WebLogic console or IBM MQ. |
| Needs Compression | Select this option if the message needs to be compressed. |
| Enable JMS Security | Check this box if you want JMS Security to be enabled. Once selected, the JMS Security
Properties tab is enabled to configure destination and/or JNDI based JMS security. Note: Oracle WebLogic 12.2.1.3 only supports JNDI based JMS security. If destination based
security is enabled, it is altogether bypassed. Therefore, you must configure JNDI based JMS
security if using Oracle WebLogic 12.2.1.3.
Note: If JMS security is enabled,
the JMS session pooling should be disabled. You can disable JMS session pooling by setting the
yfs.jms.session.disable.pooling property to 'Y' in the
<INSTALL_DIR>/properties/customer_overrides.properties file. |
| Response Tab | |
| Destination Name | Enter the name of the queue or topic in which the response message is received. |
| Selector | Enter selectors based on the message headers. When specifying a selector, use only single quotes. For example, specifying the selector APINAME='createOrder' selects all messages with a header name='APINAME' and value='createOrder'. |
| Time Out (seconds) | Enter the time interval (in seconds) after which the requests time out. |
| Request Tab | |
| Destination Name | Enter the name of the queue or topic to which the request message is sent. |
| Header Name | The name of the message header. For example, APINAME. Note: The header name
must be unique. Two headers cannot have the same header name.
Choose the Create New icon to add a new header name and value. Choose the Details icon to modify an existing header name and value. Choose the Delete icon to delete an existing header name and value. |
| Header Value | The value associated with the Header Name. These name-value pairs are stored as message
headers and can be queried by using message selectors. This can be set to a static value. For example, ‘createOrder' results in the message having a header APINAME=createOrder'. It can also be set to be dynamically extracted from the message using the syntax
|
| Reconnect Tab | |
| Retry Interval (milliseconds) | In the event that the connection to the JMS server has been lost, enter the amount of time between each attempt to re-establish contact with the JMS server. This parameter is used in conjunction with the Number of Retries parameter. The default value is 0, implying no delay time between retry attempts. |
| Number of Retries | In the event that the connection to the JMS server has been lost, enter the number of attempts to re-establish contact with the JMS server before throwing an exception. This parameter is used in conjunction with the Retry Interval parameter. The default value is 0, implying no retries if the connection is lost and an exception is thrown immediately. |
| JMS Security Properties Tab
This is enabled upon selecting Enable JMS Security in the runtime properties tab. Note: You can override the JMS security properties specified here by defining the
agent and flow authorization parameters in the
<INSTALL_DIR>/properties/customer_overrides.properties file. |
|
| Destination based security | Check this box if you want to provide destination based security for JMS service. Note: Oracle WebLogic 12.2.1.3 only supports JNDI based JMS security. If destination based
security is enabled, it is altogether bypassed. Therefore, you must configure JNDI based JMS
security if using Oracle WebLogic 12.2.1.3.
|
| JNDI based security | Check this box if you want to provide JNDI based security for JMS service. |
| JMS Security Parameters For more information about application server-specific JMS security parameters, see "Setting up the JMS Security Properties" section. |
|
| Parameter Name | Enter the name of the Oracle security parameter. |
| Parameter Value | Enter the value of the security parameter. |
yfs.jms.session.reaptime property in
the yfs.properties file is used to set the JMS session reaptime. To modify this
property, add an entry for it in the
<INSTALL_DIR>/properties/customer_overrides.properties file. Connection properties
The following are the synchronous Oracle WebLogic and IBM MQ nodes' connection properties:
| Connection | Node Connection Rules |
|---|---|
| Can be the first node after the start node | Only for services invoked synchronously. |
| Can be placed before |
|
| Can be placed after |
|
| Passes data unchanged | Transport nodes do not modify data. |