MQEndpoint policy

Attach an MQEndpoint policy to one or more IBM® MQ nodes to control connection properties at run time.

You configure a connection to IBM MQ so that the following nodes in your message flows can access messages on IBM MQ queues: You can configure MQ Connection properties on these nodes to control a connection to IBM MQ. Alternatively, you can attach an MQEndpoint policy to override the node properties and control the values at run time.

To attach an MQEndpoint policy to an IBM MQ node, set the Policy property of the MQInput, MQOutput, MQReply, or MQGet node to the name of the policy, in the format {policyProjectName}:policyName. You must deploy this policy before the associated message flow is started.

If you redeploy an MQEndpoint policy, all message flows that are using the policy are stopped and restarted.

You can specify a default MQEndpoint policy for all message flows that are deployed to an integration server, but only if you use a remote (client-linked) default queue manager. To specify an MQEndpoint policy, set the remoteDefaultQueueManager property in the server.conf.yaml file to the qualified name of an MQEndpoint policy. The qualified name must include the policy project ({policyProject}:PolicyName). The policy name must be qualified even if the policy is in the default policy project. The policy must not have a connection type of "SERVER" (although client connections to local queue managers are allowed). Remote default queue manager settings apply to all nodes that use a local default queue manager, except for the FTE nodes and Connect:Direct nodes. If you use a local default queue manager, you must set the remoteDefaultQueueManager property in the server.conf.yaml file to the name of a local queue manager (not a reference to an MQEndpoint policy). This queue manager name is used in place of a default MQEndpoint for nodes without specific connection information or policy configurations. For more information about modifying the server.conf.yaml file, see Configuring an integration server by modifying the server.conf.yaml file.

You can specify only one of defaultQueueManager and remoteDefaultQueueManager for an integration server. The option remoteDefaultQueueManager does not apply to integration nodes.

The properties of this policy are described in the following table.
Table 1. Properties of the MQEndpoint policy
Property Property name in .policyxml file Value
Connection connection This property specifies how you connect to IBM MQ. Choose from the following values:
  • Client (the default)
  • Server
  • CCDT
If you set this property to Client to make a client connection to the IBM MQ queue manager, you must also set values for the following properties:
  • Queue manager name
  • Queue manager host name
  • Listener port number
  • Channel name

If you set this property to CCDT to use client connection details in a client channel definition table (CCDT), you must set the Queue manager name property. You must also specify the location of the CCDT file either by using the CCDTUrl property, or by configuring the mqCCDT property in server.conf.yaml file for the server. For more information, see Configuring a client connection to IBM MQ.

Value type: String

Queue manager name destinationQueueManagerName This property specifies the name of the destination queue manager where message queues are defined. If the Connection property is set to CCDT, then this can be the name of a queue manager group. For more information, see https://www.ibm.com/support/pages/using-client-channel-definition-table-ccdt-websphere-mq-queue-manager-groups.

Value type: String

Queue manager host name queueManagerHostname This property specifies the host name of the queue manager.

To achieve high availability, you can specify more than one host name by separating each host name with a comma. The first host name in the list is used as the primary host name. If the connection to the host name becomes unavailable, the next host name is used, and so on.

Value type: String

Listener port number listenerPortNumber This property specifies the port number on which the queue manager is listening. This property has a default port number of 1414.

Value type: Integer

Channel name channelName This property specifies the name of the channel that is used by the queue manager to send messages.

Value type: String

Location of client channel definition table CCDTUrl This property specifies a URL that identifies the name and location of the file that contains client channel definition table and specifies how the file can be accessed. This value is used when theConnection property in the policy is set to CCDT. You can specify a value for this property only when you connect to a queue manager that supports Version 6 of the MQCNO structure in IBM MQ Version 9.1 or later.
MQ application name MQApplName This property specifies the name that is used to identify the connection to the queue manager. The value that you specify in this property is transferred to the ApplName property of the MQ connection options when you connect to the queue manager. You can specify a value for this property only when you connect to a queue manager that supports Version 7 of the MQCNO structure in IBM MQ Version 9.2 or later.
You can use the [ibmint.context-application-name] context variable to insert the name of the App Connect Enterprise application into the value specified in the MQ application name property. For example:
<MQApplName>ACE-[ibmint.context-application-name]</MQApplName>

This example results in a value of ACE-TestApplication being set for the MQ application name property of a message flow node in the application called TestApplication.

You can also use the [ibmint.context-flow-name] and [ibmint.context-flow-node-name] context variables to insert the name of a message flow or message flow node into the value that is specified in the MQ application name property.

Reconnect option reconnectOption This property controls whether the IBM MQ client automatically attempts to reconnect to the queue manager if the connection is lost. Choose from the following values:
  • default (the default)
  • enabled
  • disabled
  • queueManager

These values are passed to the IBM MQ client in the MQCONNX call, and correspond to the options MQCNO_RECONNECT_AS_DEF, MQCNO_RECONNECT, MQCNO_RECONNECT_DISABLED, and MQCNO_RECONNECT_Q_MGR.

By default, the IBM MQ client's default reconnection strategy is used, which can be modified by using IBM MQ client configuration.

For more information about options for the IBM MQ client defaults, see IBM MQ product documentation online.

This property is not used for server connections.

Value type: String

Security identity (DSN) securityIdentity This property specifies an identity that is used to provide user name and password credentials when you connect to a secured queue manager.

If you set this property, you must also define the identity by running the mqsisetdbparms command (see Connecting to a secured IBM MQ queue manager).

Value type: String

Use SSL useSSL This property controls whether the SSL protocol is used when a client connection is made to a remote queue manager. Select this property to provide confidentiality on the client connection by using SSL. This property has a default value of False.

If you set this property to True to provide confidentiality on the client connection, you must also specify the location of the key repository by running the mqsichangeproperties command (see Connecting to a secured IBM MQ queue manager).

Value type: Boolean

SSL peer name SSLPeerName This property specifies the value that is used to validate the distinguished name (DN) of the certificate that is presented by the queue manager to which a connection is being made. If validation of the DN fails, the connection to the queue manager is not established.

You can specify this property if the Use SSL property is set. This property is not used for client connections that use a client channel definition table (CCDT) because you can specify this information in the CCDT.

Value type: String

SSL cipher specification SSLCipherSpec This property specifies the name of the symmetric key cryptography algorithm that is used to secure the remote queue manager.

You can specify this property if the Use SSL property is set. This property is not used for client connections that use a client channel definition table (CCDT) because you can specify this information in the CCDT.

Value type: String

SSL certificate label SSLCertificateLabel This property specifies the label of the certificate to be used when the SSL client connection to the queue manager is established. If no value is supplied, the certificate with the MQ default label of ibmwebspheremquser_id is used, where user_id is the user identifier of the integration server.

When multiple MQ SSL certificates are used by the same integration server, the MQ SVRCONN channel must be configured with a SHARECNV value of either 0 or 1 to ensure that the correct certificate is used for the channel.