首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法。说白了也就是通过队列的方式来对应用程序进行数据通信。而无需专用链接来链接它们。 MQ的通讯方式 1.数据报的方式 Datagram (Send and forget) 应用程序在创建完消息后。利用MQ的API将消息发送到队列中。它充分利用了MQ(once and once only ) 2.请求和应答方式 Request/Reply 发送消息之后需等待对方处理结果。 需考虑如下问题: a.等待应答的时间是多少? b.如果没有应答怎么办。 c.本次session是否需要保留? MQ的开发流程 1.让应用程序与队列管理器链接,通过MQconnect调用来进行此链接。 2.使用MQOpen调用为输出打开一个队列 3.应用程序使用MQPut调用将其数据放到队列上。 4.调用MQOpen调用打开输入队列 5.使用MQGet从队列上接收数据 + C7 I9 q# F: x. ?
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
3 v. J% Z$ X y7 A# XWindows下 WebSphere MQ $ j* W% \ h) c6 T: g# L2 V
服务端的安装: ( 1)把WebSphere MQ
, o; l G; a8 u3 w: z9 X! a# ]Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
8 p+ u3 k, R- F+ A! F7 R( \* \+ o+ U/ b安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: " h5 u" B% S# O8 k
- WebSphere MQ CD
- 因特网
- 网络
+ a% O6 F% E& O; `' D7 q) k% _% k
# {' s2 b+ {" l; g: C9 z% Z1 Y( s( 6)安装完成时,单击项目左边的"-"符号。% v5 v" x$ X: R( p: H
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere ( q0 n: v7 z- l- W# ?9 C$ |: R# r
MQ"安装选项 (9)选择启动WebSphere 5 w4 `; D+ X! X
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 0 D- a8 z) ~/ r4 l$ \+ j( \5 q
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere ; D4 a# t, C5 r+ w6 P) F; c
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
, u) d4 g4 [7 T. m# X0 w6 I. bMQ"向导。 安装图示
) R) F1 L1 }# D
; }" G& q$ f! e. x: ] ' T% c, D% o0 R/ m) l' P
r) p+ m/ r/ u8 S% u& O) j % H9 S: w# ^& @. A- j7 E2 J; d
* o6 W( ^1 f- N. M0 q$ \$ P
r! y, e5 e9 N/ m
; C: L. X5 v- G; m8 F% ? $ `4 M2 F# O5 e% z
2 ^, r. b2 ]! @! H" Q* q, A
2 j' U0 Q- A3 |: D( `, b" C, R" k4 A; d2 B/ }# t9 J

, [ m! l4 ]( I) S: e: R0 a7 t) R6 ^' ^; i, A6 V3 C

3 t4 ~9 C8 O* t7 \7 ~6 y# d0 \$ p1 ~0 K1 |
! l# Z' B# g' [ ~
4 B% i; a& X% v8 v4 p1 X. X) o- V
9 |" R' _5 G, P7 P7 R: X
/ q" L3 q z" a. ]; d% C 9 m2 q0 l/ Y0 t7 s& d7 a) [
& F7 O ~0 x$ R5 u4 q& ` 0 H% J8 _9 a/ V6 E' d
; x9 G4 S' q; L' v7 u( V: s! W
& N( H0 O+ A8 ?4 b# y# J0 r6 F) C( j3 w# D( G+ t. l; @ u
! u0 ~# f! n0 H; R2 Y u5 l0 A
8 ?; Q6 a9 I) t0 I& x
, Y5 @" s a5 {* a5 r, A. |# \: ]" e' F- a. G. A& ]& d" {
. \6 H" T; r d! e6 P0 ~
+ G" i2 r5 s* r ; d& L2 `4 F5 \ i' R3 X
M4 k+ W/ H5 X. O
" b K; Q/ O" P
! \4 z! F/ {, B. j 6 r3 X) z9 ]# N/ {
& U& Z$ n5 n( _3 a& T3 h: W应用分析
& I7 ?) v4 t3 f( r2 t0 f$ Y9 ?: J
" `$ A- Z1 i# k- M3 B该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ) S# X% F6 _2 V& d* o
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。- d. M3 L# H4 O7 q) [
* P; e* t: J" b 3 {- s! g. Y8 y2 Q1 u) E* c
服务端配置7 a3 q C, ]" p% G$ T) ~
2 `$ F6 ~; W1 ?4 O* H/ }1)点 "开始"->"所有程序"->"IBM ) G$ K/ P! ] b9 o
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
0 i9 c4 E8 T+ a5 u资源管理器界面。如下图所示: : K! m3 D" \: n2 a) S V
- M- P( m9 A' e
图9
- O# P: H' d- u* a' Y E服务端配置
" I+ M" {7 B( Y4 j 2 r5 B9 S* ]7 c8 F
2)创建名为 "QM_JACK"的队列管理器 $ i7 a. A3 Z) \; O8 B
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: % @" x" _7 s# `/ O
6 s2 q: a0 q- Q 图10 创建名为"QM_JACK"的队列管理器 3 k/ [; U, t# X% v, {
 " }; P K2 K- x4 n( ]
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": 8 Y8 r" X% x( Y( v
5 F& _/ h9 k% G; w* u
图11 在队列管理中输入"QM_JACK" , ^+ R8 C% L- E$ b/ k
 % D( L' Q. P( Q6 e6 A
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 2 D$ ^3 o1 d" }. b9 t+ h% ~+ I. B
) c1 M0 V0 a$ D0 P, S. v
图12
+ L1 J; ?8 t" M8 Y/ U9 a; _# s# v设置队列日志
1 |- g- g; |" Q! _5 j1 K
7 y8 ~# c8 x J' ]% |<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 9 O d& ^- n+ F9 E9 c3 Q/ `) O$ G, r
9 J2 S7 }5 u# K; O. P5 z9 N/ x/ E
图13 创建服务器连接通道
! }* l& }8 E" l) F6 n, c
% J+ U5 E0 u$ p7 d y<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 # w' T& y. D& _1 L- u8 W) A& Y
! j" J1 U- y( u9 F) W
图 14
8 B; S' L; O7 f+ f0 L设置队列管理器QM_JACK的侦听端口 9 F: D, k7 c9 L! W
 ' E# q9 C6 E$ I! D! B8 r7 K$ U
<6>系统进入等待界面:
, p+ Y( {8 s! }3 K. Q7 x I
1 A) R d- A, J 图 15 4 A/ H: _6 o5 X0 \% M
系统等待界面 , x8 M: }% \ @5 ~

: \3 ?. P8 w2 I4 _, m, L& L<7>队列管理器 QM_JACK创建成功 " a- W! ]8 m' j7 M$ e, `
' x; L( o6 C% c% m
图 16
7 n, Y. `6 G$ ]5 G2 i% v( {/ P2 C系统队列管理器QM_JACK创建成功 k) E9 q. u! s$ ]6 U8 R7 N
 6 a3 W% Z- E& h4 X! `$ m
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
4 H6 q+ V8 m7 ]0 q" r: z$ b1 E y" G0 Q- p' F1 [
图17 定义本地队列 # b7 `9 y7 k' _& _- h E' m
$ g, X% m& ?# t$ ?6 H2 y; f
/ x3 f2 N. S3 J9 P8 p$ b8 E9 ^1 l
图18 定义本地队列
* N- Q- S$ y- i/ Z' s% `' c# ~ 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 : @: k6 L' o. c7 ^
图 19
' ^& A# w5 F9 H, A+ k7 ]创建服务器连接通道
& ?4 v4 g' |2 D& R1 q, Q % b: F* y; d8 q- v: S' t
& }* R' ?. {7 t& g. o# z; e* l
图20 创建服务器连接通道
9 N$ j+ o* Y! P6 n4 p9 e: R. n. y 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
, F; D c, G( S2 q0 U- t% \+ Y# GLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows 3 I& [; G& Y; x+ M9 B6 I
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: % O' X/ V- `& |+ \( {3 N' Y F: V
图21 ' A9 I0 ?" a: v, Q
创建系统用户
, E+ V: N( x, G* p" n 1 j2 s7 q5 B/ _- N$ b x- u: l6 T* P
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) * F3 q0 t- { k, I* r) g
图22 创建系统用户8 P% N4 m2 N; j- A2 F7 O7 p7 a* u
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ $ f) u" P. ?2 I c& ^- t z
Server后系统自动创建的)。具体操作如下:
; U- y0 n) ?" O% @' |. `. F 图23
1 k G. L0 u3 L' Q+ W7 c设置系统用户所在组
' K% _1 r" K. C* i9 r 点击 "属性": , [' l1 R5 _( N4 {: t6 ^
图24 设置系统用户所在组
# @6 v, n& S% K' K5 o 点击 "添加":
# |- {$ j! y" T3 q 图25 2 y k G s/ h& K
设置系统用户所在组
; N: f7 Y9 w+ Z, t, W
输入对象名称: mqm,点击"确定":
) e& {* X( E' F# M- F 图26 设置系统用户所在组 $ |! X8 _' B4 ], S) g
 root用户被添入 mqm组中: ' L/ Y! J+ }2 U; s. E
图27 设置系统用户所在组4 @) G" u& u, l; K% |

. ]4 J! R; N8 Z' P; e& h4 k点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
( H! G! p. b/ f8 H" A! C7 @ |