JMS Destination Properties
05When creating or viewing details about JMS destinations, the JMS Destination Properties appear. The properties are organized across these tabs:
When creating or viewing details about JMS destinations, the JMS Destination Properties appear. The properties are organized across these tabs:
For more information about JMS destinations, see Manage JMS Destinations.
To access the properties for an MQ native queue:
- Run the Manage JMS Destinations task.
- Select a destination and then click [Properties]. You can also click [Add] to create a new queue.The JMS Destination Properties appear.
- Configure each tab within the properties as necessary. Refer to the appropriate section below for a complete description of each tab.
- Click [Save] when done.
Configuring the [Basics] Tab
Basics] tab is used to set the destination direction and provider type.
- Enter a name for the JMS destination. This name will be displayed in the policy window; it can be the same as the Destination Name in the [Destination] tab or it can be a descriptive label to help users more easily identity the destination. This name is required.
- Specify the Direction of the destination being configured:
- SelectOutboundto configure an outbound destination.
- Select theThis destination is a templatecheck box to configure a template outbound destination that allows certain details to be entered later, using the Manage JMS Destinations.
- Select [Inbound] to configure an inbound destination.
- Select the JMS provider type from the drop-down list.
The [Reset] button allows you to quickly set destination properties for the current provider using the predefined defaults. You will be warned if existing configuration will be overwritten. The [Reset] button is not available for Generic JMS destinations.
- ChooseGeneric JMSto connect to a JMS provider not listed.The "Generic JMS" option can be used to configure the JMS destination to work with other JMS providers not listed in the drop-down list.For example, to connect towebMethods Broker: enter the following Context Factory class name in the [JNDI] tab: com.webmethods.jms.naming.WmJmsNamingCtxFactory
- ChooseTIBCO EMSif connecting to a TIBCO Enterprise Message Service (EMS) server.
- ChooseWebSphere MQover LDAPif connecting to an IBM WebSphere MQ server using the LDAP protocol.If you are configuring an MQSeries destination with a backout destination configured, this destination will hold the messages that cannot be processed.
- ChooseWebLogic JMSif connecting to a WebLogic JMS server.When connecting to a WebLogic JMS provider, you should set the io.jmsConnectionCacheMaxSize cluster property to "0" (zero) and also set the system property com.l7tech.server.transport.jms.detectJmsTypes to true. This property must be set on each node in a cluster and theAPI Gatewaymust be restarted for the new setting to take effect.
- Optionally choose a security zone. To remove this entity from a security zone (security role permitting), choose "No security zone". For more information about security zones, see Understanding Security Zones.This control is hidden if either: (a) no security zones have been defined, or (b) you do not have Read access to any security zone (regardless of whether you have Read access to entities inside the zones).
Configuring the [JNDI] Tab
JNDI] tab is used to configure the JNDI connection properties. Note that the settings described below may not be available for all provider types.
Some best practices tips for improving performance by reducing the JNDI timeout period:
Initial Context Factory class name
Enter the name of the initial context class.
WebSphere MQ: com.sun.jndi.ldap.LdapCtxFactory
TIBCO EMS: com.tibco.tibjms.naming.TibjmsInitialContextFactory
WebLogic JMS: weblogic.jndi.WLInitialContextFactory
Enter the address of the JNDI (Java Naming and Directory Interface) server, followed by a port number (if required).
WebSphere MQ: ldap://servername.company.com/dc=companydomain,dc=com
TIBCO EMS: tibjmsnaming://machinename:7222 (Important: Enter only the machine name, not the full host name—i.e., machine.company.com.)
Ensure that all Gateway nodes in the cluster can access the port specified in the JNDI URL. Any firewall issues preventing access can cause unexpected timeouts. Also check if rate limiting has been applied to a port.
Credentials are required to connect to JNDI
If login information is required, select this check box and then enter the User Name and Password.
(only available for Provider Type 'TIBCO EMS'')
Select this check box if you want to use an SSL connection for the JMS destination.
The following options are available once this check box is selected for Provider Type TIBCO EMS:
This option is available only when the Verify server certificate check box is selected.
Normally you should verify the certificate name with the host name. You may disable this option for testing purposes, when a temporary non-production certificate is installed on the EMS server.
Private keys stored in an internal Hardware Security Module (HSM) on the
API Gatewaycannot be used for client certificate authentication with the TIBCO EMS server, and will not appear in the drop-down list.
Optionally define additional properties required by the JNDI connection.
Note:Please consult with your administrator or CA Support to determine the need for additional properties.
Add a property named
weblogic.jndi.connectTimeoutwith a low value. This allows JNDI connection failures to time out more quickly and reduces the number of blocking threads. This leads to a performance improvement.
When not specified, the internal value is 180,000 ms. Try setting values from
10000. There are three retries, so this value is multiplied internally by 3 for the total timeout.
Configuring the [Destination] Tab
Destination] tab is used to configure the JMS destination details.
From the drop-down list, select the destination type:
Connection Factory Name
Enter the JNDI Connection Factory reference name.
The Connection Factory Name should be displayed if WebSphere has been correctly configured as a JMS destination.
If the system property com.l7tech.server.transport.jms.detectJmsTypes is set to "true" (default), the
API Gatewaywill try to detect the connection type (either Queue or Topic) automatically. For more information, see Gateway System Properties.
Enter the destination reference name.
Credentials are required to connect to this Destination
If this JMS destination requires login information, select this check box and then enter the User Name and Password.
(only available for Provider Types = 'TIBCO EMS' and 'WebSphere')
When the Provider Type is TIBCO EMS:
When the Provider Type is WebSphere MQ over LDAP:
Clear this check box if you are certain that the MQ Queue Manager does not require SSL.
Use SSL] check box assumes that the MQ Queue Manager has been correctly configured to use SSL.
Configuring the [Inbound Options] Tab
Inbound Options] tab is used to configure details for inbound JMS destinations.
Inbound JMS destinations are used by published JMS services and do not require an assertion. The JMS service publication process is the same as the publication process for a regular service. If you are publishing a service that will accept incoming messages from a JMS queue, ensure that the appropriate inbound JMS queue is monitored for the messages. JMS messages will be processed according to the assertions defined in the policy.
From the drop-down list, select how the Gateway should acknowledge incoming JMS messages:
Using "On Completion" acknowledgement increases the reliability of message processing. If a Gateway fails during the processing of a message, that message will remain in the JMS destination and can be processed by another node. This assumes that a cluster of nodes has been configured. For more information, see Configure a Gateway Cluster.
If you have not configured a failure destination or a backout destination, then messages that consistently fail (for example, a backend service is non-functional) will remain in the queue indefinitely. The Gateway will continually try to process these messages and may get stuck in a loop, unless one of the above destinations are configured.
The Protect Against Message Replay assertion should not be used in any policy that will process messages from JMS destinations that are configured with the "On completion" acknowledgment mode without a specified failure destination.
Inbound Reply Behavior
Select a JMS reply behavior for the inbound destination:
The inbound Request/Response correlation behavior can be specified if either the "Automatic" or "Send reply to specified queue" option was selected:
Select how the service should be resolved:
If a Content-Type is not specified, the Gateway will assume type "text/xml".
Send failed requests to the specified queue
Select this check box to route the message to a special queue if the service policy does not successfully complete.
The messages sent to the failure queue are not due to a Gateway failure, but rather from other causes such as routing failure, message content, etc.
If this check box is not selected, then the JMS provider configuration will be expected to ensure that messages that could not be processed do not remain in the queue indefinitely.
This option is available only when Acknowledgement Behavior is set to "On Completion".
Failure queue name
If sending requests to a failure queue, enter the name of the queue (topics are not supported) that will receive messages that were not successfully processed.
Stop listening on this destination
Select this check box to instruct the Gateway to stop listening for messages on this JMS destination. During this stoppage, incoming client requests will accumulate in the destination until the Gateway resumes listening. When listening restarts, the Gateway will process the queued messages and send a response.
Enter the number of JMS consumer connections permitted for a particular JMS destination, between 1 and 10000. Default: 1
(1) This setting only applies to JMS Queues, not to JMS Topics. (2) The default can be changed using the
io.jmsConsumerConnectionscluster property.(3) Consumer connections stay open until the "Stop listening on this destination" check box is selected.
Override maximum message size
Select this check box to override the permitted maximum size of the routing message. Clear this check box to use the value set in the
Configuring the [Outbound Options] Tab
Outbound Options] tab is used to configure details for outbound JMS destinations. For more information on using an outbound destination in a service with JMS routing, see Route via JMS Assertion .
Outbound Reply Behavior
Specify a JMS reply behavior for the outbound destination.
If waiting for a reply on a specific destination, select a Request/Response Correlation option:
Outbound Message Format
Select the desired output Content-Type:
Session Pooling Setting
Specify the JMS session pooling settings: