...
...
connections.json
Code Block | ||
---|---|---|
|
...
{ "Region": "Oracle SID of the region", /*Oracle SID of region name to which this config belongs*/ "Connections": [ { "ConnectionName": "default.wmq.connection", /* connection name. Do NOT use underscore character ("_") in name */ "ComponentName": "wmq", /* name of component */ "Parameters": { "transportType": 1, /* sets the transport type */ "port": 1414, /* sets the port for a client connection */ "channel": "S_eglwwvm24c", /* sets the name of the channel - applies to client transport mode only */ "queueManager": "QM_eglwwvm24c", /* sets the name of the queue manager */ "HostName": "1.2.3.4" /* Sets the name of the host (or IP) */ , "ClientID": "enterprise" /* optional: sets the client ID */ , "CCSID": 1 /* optional: sets the character set to be used when connecting to the queue manager */ , "clientReconnectTimeout": 10 /* optional: set the amount of time, in seconds, that a client connection will attempt to reconnect */ } } ] } |
MC2 provides the following predefined JMS componets, which can be used in ComponentName:
wmq - the component to be used for producers/Outbound streams. Maintains a pool of connections
wmq-no-pool - the component to be used for consumers, i..e Inbound MC2JMS Streams. No connection pool maintained
wmqssl - the component to be used for SSL connections to WebSphere MQ. Uses a pool of connections. Should be used for publishing messages to WebSphere MQ
wmqssl-no-pool - the component to be user for consumers, i.e. Inbound MC2JMS Streams.
WebSphere MQ Configuration With SSL/TLS Connection
To configure an ssl connection, the wmqssl/wmqssl-no-pool component has to be used and the SSLCipherSuite, SSLTruststoreFile and SSLKeystoreFile parameters should be defined. For example:
Websphere MQ SSL Example
Code Block | ||
---|---|---|
| ||
{ "Region": "Oracle SID of the region", /*Oracle SID of region name to which this config belongs*/ "Connections": [ { "ConnectionName": "default.wmq.connection", /* connection name. Do NOT use underscore character ("_") in name */ "ComponentName": "wmqssl", /* name of component */ "Parameters": { "transportType": 1, /* sets the transport type */ "port": 1414, /* sets the port for a client connection */ "channel": "S_eglwwvm24c", /* sets the name of the channel - applies to client transport mode only */ |
...
"queueManager": "QM_eglwwvm24c", /* sets the name of the queue manager */ "HostName": "1.2.3.4" /* Sets the name of the host (or IP) */ , "ClientID": "enterprise" /* optional: sets the client ID */ , " |
...
CCSID": 1 /* optional: sets the character set to be used when connecting to the queue manager */ , "clientReconnectTimeout": 10, /* optional: |
...
set the amount of time, in seconds, that a client connection |
...
will attempt to reconnect */ "SSLCipherSuite": "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" }, |
...
To add additional parameters/properties (it is not URI parameters of JMS component):
- go to official IBM WebSphere MQ documentation (MQConnectionFactory)
- choose public methods whose names start from set**() and accept one single parameter (String, int, long or short type)
- set prefix in the name can be omitted
...
"SSLTruststoreFile": "${eagle.path.to.root}/estar/tpe/dynamic/mc2/configs/wmq/truststore.jks",
"SSLKeystoreFile": "${eagle.path.to.root}/estar/tpe/dynamic/mc2/configs/wmq/keystore.jks"
}
]
} |
The SSLCipherSuite should match the one configured on WebSphere MQ server. We should use the following table https://www.ibm.com/docs/en/ibm-mq/9.1?topic=jms-tls-cipherspecs-ciphersuites-in-mq-classes, column Equivalent CipherSuite (Oracle JRE).
The password for the keystore and truststore will be configured in the MC2JMS stream parameter SSLKeyStorePassword in Message Center Console.
The truststore.jks should have the WebSphere MQ root and intermediate certificates added.
The client certificate, intermediate and root certificates should be added to WebSphere MQ.
External Vendor Libraries
Anchor | ||||
---|---|---|---|---|
|
All external dependencies should be stored by this path:
Info |
---|
...
...
<path to TPE_FOLDER>/dynamic/mc2/sharedlibs/ |
List of libraries for WebSphere MQ version 7.x.
...
x:
jms.jar
fscontext.jar
dhbcore.jar
connector.jar
com.ibm.mqjms.jar
com.ibm.mq.jmqi.jar
com.ibm.mq.headers.jar
CL3Nonexport.jar
CL3Export.jar
or:
CL3Export.jar
CL3Nonexport.jar
com.ibm.mq.headers.jar
com.ibm.mq.jmqi.jar
com.ibm.mqjms.jar
com.ibm.msg.client.jms.internal.jar
com.ibm.msg.client.jms.jar
com.ibm.msg.client.provider.jar
com.ibm.msg.client.wmq.common.jar
com.ibm.msg.client.wmq.factories.jar
com.ibm.msg.client.wmq.jar
com.ibm.msg.client.wmq.v6.jar
connector.jar
dhbcore.jar
fscontext.jar
jms.jar
Libraries for IBM WebSphere MQ 7.x (copied from 2017R2 QA):
sharedlibs (for WMQ 7).zip
Libraries for IBM WebSphere MQ 7.x (copied from ETL):
sharedlibs (for WMQ 7) copied from ETL.zip - 3 set of libraries (use from 2017R2 QA region);
List of libraries for WebSphere MQ version 9.x.x.x:
bcpkix-jdk15on-157.jar
bcprov-jdk15on-157.jar
com.ibm.mq.allclient.jar
com.ibm.mq.headers.jar
com.ibm.mq.jar
com.ibm.mq.jmqi.jar
com.ibm.mq.jms.Nojndi.jar
com.ibm.mqjms.jar
fscontext.jar
jms.jar
Libraries for IBM WebSphere MQ 9.x:
MQ 9 libs.zip