-
创建MQQueueConnectionFactory bean,如下所示
<spring:bean id="MQConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<spring:property name="hostName" value="${hostName}"/>
<spring:property name="port" value="${port}"/>
<spring:property name="channel" value="${channel}"/>
<spring:property name="queueManager" value="${queueManager}"/>
<spring:property name="SSLCipherSuite" value="${SSLCipherSuite}"/>
<spring:property name="targetClientMatching" value="true" />
<spring:property name="transportType" value="1" />
</spring:bean>
-
创建UserCredentialsConnectionFactoryAdapter bean,并将上面创建的bean作为对此的引用传递。
<spring:bean id="jmsQueueConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<spring:property name="targetConnectionFactory" ref="MQConnectionFactory" />
<spring:property name="username" value="${username}" />
<spring:property name="password" value="${password}" />
</spring:bean>
-
创建WMQ连接器并传递适当的引用和值
<wmq:connector name="WMQConnector"
hostName="${hostName}"
port="${port}"
queueManager="${queueManager}"
channel="${channel}"
transportType="CLIENT_MQ_TCPIP"
validateConnections="true"
doc:name="WMQ"
password="${password}"
username="${username}"
dynamicNotification="true"
numberOfConsumers="1"
connectionFactory-ref="MQConnectionFactory"
cacheJmsSessions="false"
specification="1.1"
targetClient="JMS_COMPLIANT"
acknowledgementMode="CLIENT_ACKNOWLEDGE"
maxRedelivery="-1">
-
在VM参数中设置密钥库和信任库位置以及密码,如下所示
-Djavax.net.ssl.trustStore=keystore.jks -Djavax.net.ssl.trustStorePassword=xxxx -Djavax.net.ssl.keyStore=keystore.jks -Djavax.net.ssl.keyStorePassword=xxxx
就是这样。这将解决WMQ与Mule中的SSL集成问题。