透過 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 資源。比方說,Connection Factory 和啟動規格內容會提供用戶端程式庫來連接 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 Technote 1633761。
請從修正程式中心取得 wmq.jmsra.rar 檔,並且安裝它。
- 新增 Connection Factory 定義到 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 應用程式配置成以 BINDING 模式進行連接。
如果要讓 JMS 應用程式利用共用記憶體,或在 BINDING 模式下,連接
IBM MQ,您必須將 Liberty 和
IBM MQ 部署在相同伺服器中。如果要讓 JMS 應用程式以 BINDING 模式進行連接,請使用
server.xml 檔中的
nativeLibraryPath 元素來指定
IBM MQ 原生程式庫的位置。
<wmqJmsClient nativeLibraryPath="/opt/mqm/java/lib64"/>