IBM websphere MQ v6.0配置过程

来源:互联网 发布:2017网络行业利润率 编辑:程序博客网 时间:2024/05/29 13:57

 

                研究了一个星期的IBM MQ技术,从一开始就完全陌生,到现在终于可以实现两台机器上面mq通讯(将消息发送到远程队列、 客服机-服务器配置发送消息)。我用的是用linux系统(ubuntu 虚拟机)到windows xp系统之间的通讯。在这个星期中,研究的很痛苦,因为网上的资料都很少,都是零零碎碎的,学起来很困难。  并且写了几个demo程序(c、c++语言写的),也调通了,调的过程很曲折。

              在配置过程中要注意的一些细节:

         一般人认为linux系统下面没有可视化操作界面,经过我苦苦的寻找,终于发现了在linux系统里面有MQ可视化操作界面

          打开方法:

            打开文件夹、/opt/mqm/bin   ---》找到strmqcfg 文件,双击,等待,就出来了可视化配置界面,此界面和windows界面相同

一、将消息发送到本地队列:

创建队列管理     :

       0、启动 WebSphere MQ 资源管理器。

  1. 导航器视图中,右键单击队列管理器文件夹,然后单击新建 >队列管理器此时会打开创建队列管理器向导。
  2. 队列管理器名称字段中,输入 QM_APPLE
  3. 选中设置为缺省队列管理器复选框。
  4. 单击下一步两次以转至向导的步骤 3。
  5. 确保选中启动队列管理器复选框。
  6. 确保选中自动启动队列管理器复选框。
  7. 单击下一步以转至向导的步骤 4。
  8. 确保选中创建配置用于 TCP/IP 的侦听器复选框。
  9. 如果完成按钮不可用,则在侦听端口号字段中输入另一个端口号。如果当前值为 1414,则尝试输入14151416
  10. 单击完成

创建本地队列

  1. 导航器视图中,展开队列管理器文件夹。
  2. 展开队列管理器 QM_APPLE
  3. 右键单击队列文件夹,然后单击新建 >本地队列...此时会打开新建本地队列向导。
  4. 名称字段中,输入 Q1
  5. 单击完成

测试本地队列是否建立好了

  1. 导航器视图中,展开队列管理器文件夹。
  2. 展开在上一主题中创建的队列管理器 QM_APPLE
  3. 单击队列文件夹。队列管理器的队列将列示在内容视图中。
  4. 内容视图中,右键单击本地队列 Q1,然后单击放入测试消息...此时会打开放入测试消息对话框。
  5. 消息数据字段中,输入一些文本,例如:这是测试消息,然后单击放入消息系统会清空消息数据字段,并将消息放入队列。
  6. 单击关闭

验证是否已经发送测试消息

  1. 导航器视图中,展开队列管理器文件夹,然后再展开QM_APPLE
  2. 单击队列文件夹。
  3. 内容视图中,右键单击 Q1,然后单击浏览消息...此时会打开消息浏览器,显示当前Q1 上的消息列表。
  4. 双击最后一条消息以打开其属性对话框。打开数据(data)选项就可以看到消息了

二、将消息发送到远程队列

在发送机器上(windows xp):
    创建队列管理器
  1. 启动 WebSphere MQ 资源管理器。
  2. 导航器视图中,右键单击队列管理器文件夹,然后单击新建 >队列管理器此时会打开创建队列管理器向导。
  3. 队列管理器名称字段中,输入 QM_ORANGE
  4. 选中设置为缺省队列管理器复选框。
  5. 单击下一步两次以转至向导的步骤 3。
  6. 确保选中启动队列管理器复选框。
  7. 确保选中自动启动队列管理器复选框。
  8. 单击下一步以转至向导的步骤 4。
  9. 确保选中创建配置用于 TCP/IP 的侦听器复选框。
  10. 如果完成按钮不可用,则在侦听端口号字段中输入另一个端口号。如果当前值为 1414,则尝试输入14151416
  11. 单击完成
在发送队列管理器上:(windows )
  1. 导航器视图中,展开队列管理器文件夹。
  2. 展开队列管理器 QM_ORANGE
  3. 右键单击队列文件夹,然后单击新建 >远程队列定义...此时会打开新建远程队列定义向导。
  4. 名称字段中,输入 Q1
  5. 远程队列字段中,输入 Q1
  6. 远程队列管理器字段中,输入 QM_APPLE
  7. 确保传输队列字段保留为空白。
  8. 单击完成您现在已经创建了远程队列定义。
  9. 单击 QM_ORANGE 队列管理器。
  10. 右键单击队列文件夹,然后单击新建 >本地队列此时会打开新建本地队列向导。
  11. 名称字段中,输入 QM_APPLE
  12. 用途字段中,选择传输
  13. 单击完成您现在已经在本地机器上创建了传输队列

 

接收队列管理器 QM_APPLE 上:(linux系统)
创建消息通道
  1. 导航器视图中,展开先前创建的队列管理器 QM_APPLE,然后展开高级文件夹。
  2. 右键单击通道文件夹,然后单击新建 >接收方通道...此时会打开新建接收方通道向导。
  3. 名称字段中,输入 QM_ORANGE.QM_APPLE
  4. 单击完成您现在已经在接收机器上创建了接收方通道。

 

发送队列管理器 QM_ORANGE 上:(windows)

  1. 展开先前创建的队列管理器 QM_ORANGE,然后展开高级文件夹。
  2. 右键单击通道文件夹,然后单击新建 >发送方通道...此时会打开新建发送方通道向导。
  3. 名称字段中,输入 QM_ORANGE.QM_APPLE,然后单击下一步
  4. 连接名称字段中,输入接收机器的计算机名称或 IP 地址(端口号1414)。 例如:192.168.0.107(1414)
  5. 传输队列字段中,输入 QM_APPLE
  6. 单击完成
  7. 单击通道文件夹。
  8. 右键单击 QM_ORANGE.QM_APPLE
  9. 从弹出菜单中,单击启动
  10. 单击确定您现在已经在发送机器上创建了发送方通道。

将测试消息放人队列:

              在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。

            使用 amqsput 样本程序来将消息放入您创建的队列。

          在 Windows 上,缺省情况下样本程序随 WebSphere MQ 服务器或客户机一起安装。在 Linux 上,需要安装样本程序 RPM。

            打开命令提示符,然后按照以下步骤操作:

  1. 启动 amqsput 样本程序,如下所示:
    • 在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1
    • 在 Windows 上,输入命令:amqsput Q1
    此时会显示以下消息:

    样本 amqsput0 启动
    目标队列为 Q1

  2. 在一行或多行上输入某些消息文本,然后按 Enter 键两次。此时会显示以下消息:

    样本 amqsput0 结束

验证是否发送测试消息

     在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。

            在接收队列管理器上:

  1. 导航器视图中,展开队列管理器 QM_APPLE
  2. 单击队列文件夹。
  3. 内容视图中,右键单击队列 Q1,然后单击浏览消息...此时会打开消息浏览器,显示当前Q1 上的消息列表。
  4. 双击列表中的最后一条消息以查看其属性对话框。  打开数据(data)选项

 

有时间再把写的c、c++程序分析一下,demo分享给大家, 还有客服端配置-服务端配置也要注意很多问题。

比如:打开对了管理器用mqconnx函数(用于客服端访问服务端mq),和mqconn函数(用于访问本地mq)

还有在服务器上面必须建立服务器连接通道,还有用户权限问题,等等

还有一个比较重要的是:远程访问的时候,端口号一定要加上: 192.168.0.107(1414)

还有一个比较重要的信息是:/opt/mqm/samp/bin 下面有很多很有用的测试程序

amqscnx 是远程访问服务器的测试函数,源码在amqscnx.c 里面,你只要执行 ./amqscnx -x   "192.168.0.107(1414)" -c     chlname   qmgrname

命令格式amqscnxc [-x ConnName [-c SvrconnChannelName]] [QMgrName]  就可以了注意:ip地址要加引号。。。