1.关于websphere MQ的常用名词(针对Websphere MQ7.5版本)
队列管理器:为应用程序提供消息传递服务的程序。使用消息队列接口(MQI)的应用程序可以将消息放置到队列并可从队列中获得消息,队列管理器确保消息可以发送至正确的队列或传递至另一个队列管理器。
本地队列:队列管理器接收消息的位置。
传输队列:特殊的本地队列,当队列管理器将消息发送至远程队列管理器上的队列时,传输队列在本地存储此消息,直到远程队列管理器上的队列可用。创建传输队列,只需创建一个本地队列将其用法属性改为“传输”。
远程队列定义:属于另一个队列管理器的队列的本地队列管理器上的定义。要将消息发送至远程队列管理器上的队列,发送方队列管理器必须具有目标队列的远程定义。
别名队列:不是队列,是现有队列的附加定义。比如:当应用程序的队列名与队列管理器的队列名不一致。不能更改的前提下,可以创建别名队列指向需要的队列。
模型队列:如果想要队列管理器根据需要动态创建队列的模板,这样当应用程序尝试将消息放置到模型队列时,队列管理器将动态地创建与模型队列同名的本地队列。
发送方通道:队列管理器用来将消息发送至其他队列管理器的消息通道。要使用发送方通道来发送消息,还必须在另一队列管理器上创建与此发送通道同名的接收方通道。
接收方通道:队列管理器用来从其他队列管理器接收消息的消息通道。前提是已经在另一个队列管理器创建同名发送方通道或服务器通道。
请求方通道:队列管理器用来将消息发送到其他队列管理器的消息通道。要使用请求方通道发送消息,必须在另一队列管理器创建发送方通道(实现回调机制)或服务器通道。
服务器通道:队列管理器用来将消息发送到其他队列管理器的消息通道。要使用服务器通道来发送消息,必须在另一队列管理器创建与此服务器通道同名的接收方通道。
服务器连接通道:应用程序操作本地队列的通道。
2.使用MQSC创建MQ
a.打开命令提示符 输入 crtmqm QM_APPLE,其中QM_APPLE是队列管理器名称。
b. 输入strmqm QM_APPLE 启动队列管理器
c. 输入runmqsc QM_APPLE 启用MQSC命令
创建本地队列 define qlocal(Q1),其中Q1为本地队列名。
输入end 结束MQSC命令。
d. 将测试消息放入本地队列。 在cmd 命令行中输入amqsput Q1 QM_APPLE,在本地队列中可以看到队列深度为1.
e. 取出本地队列的消息。在cmd 命令行中输入amqsget Q1 QM_APPLE
f. 创建服务器连接通道 在cmd命令行输入runmqsc QM_APPLE ,然后输入define channel(CLIENT.QM_APPLE) chltype(SVRCONN) trptype (TCP) mcauser('administrator'),其中的administrator是Windows登录名(或有效的mqm用户名)。这里牵扯到mq的用户组,在安装websphere mq 时会安装名为mqm的用户组。输入end结束。
g. 关于应用程序所在主机的MQ配置。
h.侦听端口可以通过cmd命令行中输入start listener(system.default.listener.tcp)启动,默认端口为1414,如果占用可以使用 alert listener(system.default.listener.tcp) trptype(tcp) port(1418),其中1418为你想改变的端口号,然后再执行start listener(system.default.listener.tcp)。
下篇介绍c#客户端收发消息