通过 Liberty 中的 IBM MQ 消息传递提供者,Java™ 消息服务 (JMS) 消息传递应用程序可以使用 IBM MQ 系统作为 JMS 消息传递资源的外部提供者。
关于此任务
wmqJmsClient-2.0 功能部件提供对使用 JMS 2.0 规范的应用程序的支持。
注: wmqJmsClient-2.0 功能部件支持 JMS 1.1 和 JMS 2.0 规范的功能部件。但是,如果只想使用符合 JMS 1.1 规范的功能部件,那么可选择使用
wmqJmsClient-1.1 功能部件。
过程
- 将 wmqJmsClient-2.0 功能部件添加至 server.xml 文件。如果要执行 JNDI 查找,那么还必须添加 jndi-1.0 功能部件。
<featureManager>
<feature>wmqJmsClient-2.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
如果添加 wmqJmsClient-2.0 功能部件,那么将使 Liberty 服务器能够装入必需的 IBM MQ 捆绑软件,从而可让您定义 IBM MQ JMS 资源。例如,连接工厂和激活规范属性会提供客户机库以连接至 IBM MQ 网络。
- 可以通过在 server.xml 文件中添加以下项目来指定 IBM MQ 资源适配器的位置:
<variable name="wmqJmsClient.rar.location" value="/path/to/wmq/rar/wmq.jmsra.rar"/>
其中,
value 属性指定
IBM MQ 资源适配器文件的绝对路径
wmq.jmsra.rar。
有关受支持的版本和获取 wmq.jmsra.rar 文件的详细信息,请参阅 IBM MQ 技术说明 1633761。从 Fix Central 获取 wmq.jmsra.rar 文件并进行安装。
- 将连接工厂定义添加至 server.xml 文件。
<jmsConnectionFactory jndiName="jms/wmqCF" connectionManagerRef="ConMgr6">
<properties.wmqJms
transportType="CLIENT"
hostName="localhost"
port="1414"
channel="SYSTEM.DEF.SVRCONN"
queueManager="QM1"/>
</jmsConnectionFactory>
<connectionManager id="ConMgr6" maxPoolSize="2"/>
<jmsQueue id="jms/queue1" jndiName="jms/wmqQ1">
<properties.wmqJms
baseQueueName="MDBQ"
baseQueueManagerName="QM1"/>
</jmsQueue>
- 配置 JMS 应用程序以采用“绑定”方式进行连接。
为允许 JMS 应用程序使用共享内存或者采用“绑定”方式连接至
IBM MQ,必须将 Liberty 和
IBM MQ 部署在同一个服务器上。要允许 JMS 应用程序以“绑定”方式进行连接,请使用
server.xml 文件中的
nativeLibraryPath 元素来指定
IBM MQ 本机库的位置。
<wmqJmsClient nativeLibraryPath="/opt/mqm/java/lib64"/>