1. 首页 > 知识 > 技术

IBM WebSphere MQ 配置和使用

配置和使用WebSphere MQ

A.设置环境变量

  在shell中执行MQ的控制命令:

    ctrmqm

    strmqm

  若识别这些命令,则说明PATH环境变量已配置好了;

  若提示找不到命令,则说明需配置Linux环境变量,指定MQ的bin路径到PATH:

     可选择修改系统的环境变量(/etc/profile文件,对全部用户可见),

     或只修改用户mqadmin的环境变量(/var/mqm/.bash_profile),只对当前用户可见。

    下面列出前者的修改方式:      

      vi /etc/profile
      切换到插入模式,在文件尾部加入以下内容:
        export PATH=${PATH}:/opt/mqm/bin:/opt/mqm/samp/bin
        export
        
        CLASSPATH=${CLASSPATH}:/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/samp/wmqjava/samples
        
      其中/opt/mqm为MQ的安装路径,若安装路径不是这个,替换之。
      保存退出 :wq

   重启系统后,shell中就可执行MQ控制命令了。   

        /opt/mqm/samp/bin 为MQ示例命令功能 是MQ的MQSeriesSamples  rpm包中所带。

B.MQ服务器单机测试 

任务:MQ服务器本地发送和收取消息

  1.创建名为 QM_APPLE 的缺省队列管理器

      shell命令:

crtmqm -q QM_APPLE

  2.启动此队列管理器

      shell命令:

strmqm QM_APPLE

  3.使用 MQSC(MQ服务器控制台)创建本地队列

      shell命令:

runmqsc QM_APPLE   //启动MQSC
define qlocal (Q1)  //定义本地队列
end  //退出控制台

  4.将测试消息放入本地队列

      shell命令:

amqsput Q1 QM_APPLE  //调用MQ内置样本程序向Q1队列放入消息

      此时屏幕显示:

        Sample AMQSPUT0 start
        target queue is Q1
      输入消息文本(一行或多行),然后按 Enter 键两次。此时屏幕显示:
        Sample AMQSPUT0 end

     现已创建了测试消息并将其放入本地队列。

  5.从本地队列获取消息

      shell命令:

amqsget Q1 QM_APPLE  //调用MQ内置样本程序向Q1队列放入消息

      此时会屏幕显示:

        Sample AMQSGET0 start
        message <***>     //×××为消息内容

    现已成功获取消息。


C.两台MQ服务器消息通信测试

  前提:假如有两台MQ服务器:A和B,服务器B的IP为192.168.222.132

            A已建立队列管理器QM_APPLE和本地队列LQA;

           B已建立并启动队列管理器QM_ORANGE和本地队列LQB

  任务:实现服务器A向服务器B发送一条消息,服务器B接收并读取该条消息。    

  1.服务器A定义传输队列和远程队列

      shell命令:

runmqsc QM_APPLE    //启动MQSC     
define qlocal (TQA) usage (xmitq)         //TQA-本地传输队列
define qremote (RQA) rname (LQB) rqmname(QM_ORANGE) xmitq (TQA)
//定义远程队列:RQA-远程队列名称,QM_ORANGE-远程队列管理器,LQB-远程队列管理器的本地队列,TQA-本地传输队列      
end

  2.服务器B定义接收方消息通道和侦听器

      shell命令:

runmqsc QM_ORANGE     //启动MQSC        
define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)    //定义接收方消息通道      
define listener (LSR.QM_ORANGE)TRPTYPE(TCP) PORT(1414)     //定义侦听器,需保证TCP端口1414没被其他程序使用,否则使用其他端口      
start listener (LSR.QM_ORANGE)    //启动侦听器      
end

  3.服务器A创建发送方消息通道(发送方通道应与接收方通道相同),并启动

      shell命令:

runmqsc QM_APPLE   
//启动MQSC       
define channel(QM_ORANGE.QM_APPLE) chltype(sdr) conname('192.168.222.132(1414)') xmitq(TQA) trptype(tcp)
//定义发送方消息通道      
start channel (QM_ORANGE.QM_APPLE)  
//启动发送方消息通道      
end

  4.服务器A放入测试消息

      shell命令:  

amqsput RQA QM_APPLE   //调用MQ内置样本程序向远程队列RQA放入消息

      此时屏幕显示:

        Sample AMQSPUT0 start
        target queue is RQA
      输入消息文本(一行或多行),然后按 Enter 键两次。
      此时屏幕显示:
        Sample AMQSPUT0 end

    已将测试消息放入远程队列。

  5.服务器B接收并获取测试消息

      shell命令:  

      amqsget LQB QM_ORANGE  //调用MQ内置样本程序向Q1队列放入消息

      此时会屏幕显示:

        Sample AMQSGET0 start
        message <***>     //×××为消息内容

    已成功获取测试消息。    


D.客户机-服务器通信测试

  任务:客户机向服务器发送和收取消息。     

  1.服务器设置

   (假设服务器已建立队列管理器QM_APPLE)

      shell命令:

runmqsc QM_APPLE     //启动MQSC     
define qlocal (LQA)     //定义本地队列
define channel(CLIENT.QM_APPLE) chltype(SVRCONN) trptype(TCP) mcauser('mqadmin')
//定义服务器连接通道,mqadmin为客户机映射到的服务器本地MQ用户
define listener (LSR.QM_APPLE)TRPTYPE(TCP) PORT(1414)   
//定义侦听器,需保证TCP端口1414没被其他程序使用,否则使用其他端口      
start listener (LSR.QM_APPLE)  //启动侦听器         
end

    服务端设置完毕。

  2.客户机设置

  (假设客户机为Linux系统,已安装MQ客户端)

     shell命令:

vi $HOME/.bash_profile
设置环境变量PATH和MQSERVER,将下列文本添加至文件末尾:
export PATH=${PATH}:/opt/mqm/bin:/opt/mqm/samp/bin
export MQSERVER=CLIENT.QM_ORANGE/TCP/'hostname'; export MQSERVER

    注销并重新登录以使更改生效。

  3.客户机放入消息到服务器队列

     shell命令:

amqsputc LQA  QM_APPLE 
//调用MQ内置样本程序,连接远程MQ服务器,并向服务器队列放入消息

      具体过程省略。

  4.客户机从服务器队列获取消息

     shell命令:

amqsgetc LQA  QM_APPLE 
//调用MQ内置样本程序,连接远程MQ服务器,并从服务器队列获取消息

      具体过程省略。      


至此,完成WebSphere MQ的配置和基本功能使用。


本文由一叶发布,不代表一叶立场,转载联系作者并注明出处:https://yiyeo.com/jishu/127.html

加载中~

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:10:30-15:30,节假日休息