WebSphere MQ 自学笔记
1、 MQ6.0安装
1.1 启动MQ v6.0 安装程序
双击Setup.exe以启动安装程序。
安装程序启动后,显示界面如下图所示:
1.2 软件需求检查
点击“软件需求”,已安装的软件会在右侧打勾,未安装的会打叉
选择必备软件的安装途径。在WebSphere MQ 安装软件中列出两种安装途径,分别为:
CD -ROM
网络(N)
在本次安装过程中,由于 WebSphere Eclipse Platform V3.0.1 未安装,因此,单击WebSphere Eclipse Platform V3.0.1左侧的+号,展开安装路径,选择CD-ROM,从随盘的安装介质进行安装。
1.3 WebSphere Eclipse Platform V3.0.1软件安装
选择CD-ROM方式安装,启动安装
不停的点下一步,选择安装路径,即可安装。
1.4 网络配置检查
单击[网络配置(C)] 图标,进入网络配置界面,这里由于MQ服务器没有在域控制器中,所以选择[否] 单选钮,如果你的MQ服务器在域控制器中,请域管理员提供域帐户,并选择[是] 单选钮
1.5 迁移SSL证书(M)
若需迁移SSL证书,请参见WebSphere MQ SSL证书迁移的专题文档
1.6 WebSphere MQ 安装
在上述各步工作完成之后,单击[WebSphere MQ 安装(I)] 图标,进入安装界面,单击[启动WebSphere MQ 安装程序(L)]按钮,进行WebSphere MQ安装
跟普通软件安装差不多,就是要选择定制安装,然后在选择安装的功能部件部分,请选择安装全部功能部件
最后点安装。
1.7 WebSphere MQ 配置向导
安装完成后,会弹出配置向导,点下一步,域控制器那栏,选择否,点下一步,直接点下一步完成即可。
1.8 安装验证
使用样本应用程序将消息放置到队列并从队列读取该消息。 下面介绍手工创建对象验证安装的方法。
使用以下步骤来安装队列管理器和队列:
创建名为 venus.queue.manager 的缺省队列管理器。在窗口的命令提示符下,输入以下命令:
crtmqm -q venus.queue.manager
启动队列管理器。输入以下命令:
strmqm venus.queue.manager
启用 MQSC 命令。输入以下命令:
runmqsc venus.queue.manager
定义名为 ORANGE.QUEUE 的本地队列。输入以下命令:
define qlocal (orange.queue)
MQSC 中的任何小写字母都将自动转换成大写,除非用单引号将它们括起来。这意味着如果用名称 orange.queue 创建了队列,则记住在 MQSC 以外的其它命令中必须使用 ORANGE.QUEUE。
停止 MQSC。输入以下命令:
End
现在已经定义了以下对象:
名为 venus.queue.manager 的缺省队列管理器
名为 ORANGE.QUEUE 的队列
整个操作图如下:
1.9测试对象
要测试队列和队列管理器,请使用样本程序 amqsput (将消息放入队列)和 amqsget(从队列获取消息):
启动MS-DOS窗口,进入到c:\Program Files\IBM\WebSphere MQ\bin目录下。
将消息放入队列,输入以下命令:
amqsput ORANGE.QUEUE
显示以下消息:
Sample amqsput0 start
target queue is ORANGE.QUEUE
输入一些字符数据,然后按 Enter 键两次。显示以下消息:
Sample amqsput0 end
现在消息已经被放在队列。
要从队列获取消息,请输入以下命令:
amqsget ORANGE.QUEUE
在屏幕上将显示您刚才输入的字符数据消息。暂停后,例子程序结束。
如果以上步骤都能完成,则完成了本地安装的验证。
注: 如果在任何阶段中断整个安装过程,则应该从头开始重新运行安装。
操作流程图如下:
至此,MQ安装完成。
2、WebSphere MQ 概述
WebSphere MQ(以下简称MQ)是IBM公司享有盛誉的商业通信中间件。它被世界范围的许多大型企业广泛采用。它提供一个具有工业标准、安全、可靠的消息传输系统。MQ基本由一个消息传输系统和一个应用程序接口组成。应用程序使用MQ的API(消息队列接口MQI)函数和队列管理器(MQ运行时刻的程序)进行通信。队列管理器在工作时,它需要用到对象如队列和通道。同时,队列管理器也是一个对象。
消息是一个信息单元,它由两部分组成:从一个程序发往另外一个程序的应用程序数据以及消息描述符或者消息头。
消息描述符用来标识消息(message ID),同时它还包括一些控制信息,如消息类型,消息过期的时间,消息优先级等等。
一条消息的最大长度为100MB,默认的最大消息长度为4MB。消息的最大长度依赖于MQ的版本。MQ第五版支持消息的最大长度为100MB。
队列是一个安全的存储消息的地方,消息的存储一般是有顺序的。因为消息存放在队列中,所以应用程序可以以不同的速度、在不同的时间、不同的地点相互独立的运行。
消息队列通信是应用程序之间进行通信的一种方式。应用程序在没有专有连接或者物理连接的情况下,能够通过向队列写入或读出消息进行通信,也即程序之间不是通过互相调用,而是通过向队列发送数据来进行通信。在这种通信方式下,应用程序不需要具有并发性。对于异步的消息通信,程序发送方不需要专门等待已发消息的回复,而是可以处理下一个事件。与之相对的是,同步消息通信在处理下一个事件之前必须等待已发消息的回复。对于用户来说,底层的协议是透明的。用户只需要考虑会话的程序或数据入口。
MQ应用于客户机/服务器模式或者分布式系统。应用程序可以工作在一个工作站上,也可以运行在不同平台的不同机器上。应用程序具有很好的移植性,能够轻松的从一个系统或者平台转移到另一个系统或者平台。程序的编写支持多种语言,包括Java。同样