Websphere MQ基本由一个消息传输系统和一个应用程序接口组成,其资源是消息和队列(Messaging and Queuing)。
队列按其定义可分成本地队列、远程队列、别名队列和模型队列,如图1所示。其中只有本地队列是真正意义上的队列实体,可以存放消息。远程队列和别名队列只是一种队列定义,指向另一个队列实体。远程队列指向的是其他队列管理器中的队列,而别名队列指向的是本地队列管理器中的队列。模型队列有一点特殊,它虽然本身只是一个队列定义,描述了模型的属性,但是当打开模型队列的时候,队列管理器会以这个定义为模型,创建一个本地队列,被称为动态队列。
一个队列管理器下辖很多个消息队列,但每个队列却只能属于一个队列管理器。队列在它所属的管理器中只能有一个惟一的名字,不能与同一个管理器的其他队列重名。当消息被添加到队列中,它缺省将被加到最后,与之相反,删除消息缺省却是从头开始。
图1队列的分类
<二> 通道类型
Websphere MQ用通道类型属性(CHLTYPE)约定了通信双方在连接握手协议中的主动方和被动方以及应用消息的流向。可选以下这些类型:
●SDR(Sender)握手协议的主动方,消息的发送方
● RCVR(Receiver)握手协议的被动方,消息的接收方
● SVR(Server)在握手协议中可以是主动方也可以是被动方,消息的发送方
● RQSTR(Requester)在握手协议中可以是主动方也可以是被动方,消息的接收方
● CLNTCONN(Client Connection)在Client—Server连接时,定义客户端连接定义表(Client Channel Definition Table)时使用。握手协议的主动方,消息的发送方
● SVRCONN(Server Connection)在Client—Server连接时,定义服务器端连接时使用。握手协议的被动方,消息的接收方
● CLUSSDR(Cluster Sender)在群集中发送配置信息和应用消息。握手协议的主动方,消息的发送方
● CLUSRCVR(Cluster Receiver)在群集中接收配置信息和应用消息。握手协议的被动方,消息的接收方
通信双方的通道类型配对并不是可以随意排列组合的,共有6种,如图所示:
图2 通道类型配对
图中细线箭标表示握手协议中的主动连接,粗线箭标表示应用消息流向。消息在所有的通道上都是单向传送的。
定义队列:
DEFINE CHANNEL(TO.QM1000) + -----队列名TO.QM1000
CHLTYPE(CLUSSDR) CONNAME(‘192.168.10.22(1414)’) + -----类型为集群发送,连接名192.168.10.22(1414)
TRPTYPE(TCP) + -------通过TCP协议进行通信
CLUSTER(NPC) + ------集群名NPC
DESCR(‘To Other Repository’) -----描述为To Other Repository
· WebSphere MQ 配置文件(mqs.ini),它的属性将影响整个WebSphere MQ节点系统,每个节点有一个mqs.ini文件。
· 队列管理器配置文件(qm.ini),它的属性仅影响某个队列管理器,在节点中的每个队列管理器都有一个qm.ini文件。
MQ 控制命令
命令名 | 目的 |
amqmcert | 管理 SSL 证书 |
amqmdain | 配置或控制 WebSphere MQ 服务(仅 Windows 系统) |
crtmqcvx | 转换数据 |
crtmqm | 创建本地队列管理器 |
dltmqm | 删除队列管理器 |
dmpmqaut | 转储打开对象的权限 |
dmpmqlog | 转储日志 |
dspmq | 显示队列管理器 |
dspmqaut | 显示打开对象的权限 |
dmpmqcap | 显示处理程序容量和处理程序数 |
dspmqcsv | 显示命令服务器状态 |
dspmqfls | 显示文件名 |
dspmqtrc | 显示格式化跟踪输出(HP-UX、Linux 和 Solaris) |
dspmqrtn | 显示事务的详细信息 |
endmqcsv | 停止队列管理器上的命令服务器 |
endmqlsr | 停止队列管理器上的侦听器进程 |
endmqm | 停止本地队列管理器 |
endmqtrc | 停止对实体的跟踪(不用于 AIX) |
rcdmqimg | 向日志写对象的映象 |
rcrmqobj | 根据它们在日志中的映象重新创建一个对象 |
rsvmqtrn | 提交或逆序恢复事务 |
runmqchi | 启动通道启动器进程 |
runmqchl | 启动发送方或请求者通道 |
runmqdlq | 启动死信队列处理程序 |
runmqlsr | 启动侦听器进程 |
runmqsc | 向队列管理器发出 MQSC 命令 |
runmqtmc | 调用客户机的触发器监控器(仅 AIX 客户机) |
runmqtrm | 调用服务器的触发器监控器 |
setmqaut | 更改打开对象的权限 |
setmqcap | 设置处理程序容量 |
setmqcrl | 设置证书撤销列表(CRL)服务器定义 |
setmqscp | 设置服务连接点(仅 Windows 系统) |
strmqcsv | 启动队列管理器的命令服务器 |
strmqm | 启动本地队列管理器 |
strmqtrc | 启用跟踪(不用于 AIX) |