首先介绍一下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从队列上接收数据 8 [. U( u% H0 z8 k4 Q
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
/ @# f' r/ E+ L3 a2 _Windows下 WebSphere MQ
$ R1 G: V# l* i8 B: e服务端的安装: ( 1)把WebSphere MQ ( r. ^, \/ R, p( Y- C' o- j
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ # J% _0 X0 S, j6 @. U0 \
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: b9 y9 j% Z, N% _' G& P
- WebSphere MQ CD
- 因特网
- 网络7 D- h3 y/ M6 q5 o, ^$ @; P
1 g3 e; A1 {) d4 |: S' _1 h3 ^( 6)安装完成时,单击项目左边的"-"符号。
1 M. c6 T- |; y( M! X* h注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere 2 J, l, s4 h3 V0 J% m3 k4 e
MQ"安装选项 (9)选择启动WebSphere
% F: P% ]+ j' A: XMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
5 f+ }( J2 ?, [' h, A% CMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
4 S4 n8 g! o3 \/ {0 O2 |MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
. ?" }6 B5 z2 t2 ]MQ"向导。 安装图示 f4 C5 D0 l4 y% ^
4 P, U$ ]4 l' o; p: _ : d9 m) e, I8 X+ \3 c5 T
% N# T2 G$ u& j* N- L* [/ b3 [4 n
9 \$ l+ U7 X! ?' X7 K. K1 G! ?
" x9 ?4 |$ Y% p, U
/ d$ S0 r2 ^7 f* E5 \
& [3 M p% Z7 V& X: v" J+ ?# |7 u * K) U5 b5 t( t7 h
% x' C4 \4 R' h$ c1 U) _" D; Z/ ?
% ~1 Q" e! x) H! T+ d! u
0 H4 i1 a6 o1 s \# r# Z) R h
0 Y+ \4 U5 a2 R2 l
0 Q" v7 w$ T& ^( S) _9 O

8 P* i' }+ } d0 V6 O' R! F" @: x: U

) K& {/ G3 U: _) e: Q) M1 w" `- r$ S4 p# V" W$ W$ D7 ~9 X6 f

1 R3 n6 q; x" \& q- h+ e8 d
4 T$ v z; K( [3 H) D ^6 M7 l6 Q9 \* G4 Z
: o( s+ d# ?& l( g, _* ^1 S4 D' [ N S 6 m E9 \0 ?9 n, Y
& A) {" [& F# n5 d+ x+ G" a

$ N! M! C J) C2 l8 L: t6 G g# w& `* A

8 q0 q0 v2 _( n# W2 \. R" h
+ g! W( a2 k$ l- J 0 b; l+ Z/ ^( Z9 A
$ Z7 R1 ^# N0 W4 y$ V5 i
]" O! i3 D9 }5 T2 q
( I( ]( j# y) X ' z6 r3 z# [* X/ L6 M# U. ^
0 s% u0 J! G0 B # u* m1 k1 T/ f2 u0 a
8 h8 b! H5 y& b ( z% ?: a& _8 @% k$ ~! [& z
& v) l* G- p% \; o' M t1 w
应用分析
- F, h! i/ L7 Z" G$ }) c' `" b- ?/ ~3 ^& ~4 P: K
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ' n0 Q- O- G3 {9 E1 ~5 K
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。* e) Y) R% g; ^/ S! W/ j
" L) {+ v8 Y% G, t9 R9 l7 M( P c
) K: F" R9 o2 w9 n) N8 v7 l9 i) a! h8 z服务端配置1 P' ]; e5 v) v+ B# Y9 s/ }
# r! F1 U* K2 V0 q6 @ }2 @ I% _
1)点 "开始"->"所有程序"->"IBM
- X7 U; D' L" r8 ?* I. ]WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ 0 M2 L) v( c: n" v' I* ?' h
资源管理器界面。如下图所示: ; g' Z( \3 T" T
. L9 A i6 m5 z4 g0 }8 e1 ~ 图9 + q+ {4 V5 M8 M: y: T
服务端配置 % v/ | g# N1 n: U/ L0 I& M, G) u

* Q3 F1 D. ]8 O3 e2)创建名为 "QM_JACK"的队列管理器 j/ W: i% h' ^' H5 Y
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: / k3 F$ n3 a8 G. |
8 u6 @6 L$ a$ b8 |8 e3 D: R 图10 创建名为"QM_JACK"的队列管理器 6 U' b, d, F8 w1 C3 x; W
 6 [1 C' H% @4 N* @3 _' M9 \- u
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
& ~ ~- {/ s5 `( o0 K5 D7 V
3 [$ ~$ t' b1 \. a; W; C3 p2 d! P) b" S 图11 在队列管理中输入"QM_JACK"
" o& I% e, s% c. a5 p+ {8 } . ~2 O* k$ F1 @
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
# O2 @ V/ \. I9 O, \- U1 g8 p: M0 Q
图12 " ~; { V) Z( i% I5 Q! ^
设置队列日志 . i! G4 |5 c a, k

0 Q' i; b& ?4 w5 Q9 i8 W<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
( h. x8 j+ Q. Y1 b s, G v. k4 U# z% Y2 [+ z1 I
图13 创建服务器连接通道
+ z: j# u0 C; g" v
0 T4 K4 U' k9 {5 j) m m# J5 }<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
# Z. y8 p5 ^' n# H9 r( K8 N" r8 H q: r% s$ v9 k
图 14 7 S5 L+ S, ]$ w: p. i- X" d
设置队列管理器QM_JACK的侦听端口 : v( E$ `) D) B2 m' \, ^ S

# E8 L5 t$ d8 K* e s<6>系统进入等待界面:
* q& Q: h; n( ~+ V5 ~! ~* q
" y% a8 B+ O' k( s! q 图 15
O8 ?/ }9 i' s4 `! {; F8 `, ~/ o系统等待界面
. D7 j ]+ o$ N, f & A! L! L1 e- _7 s3 Y
<7>队列管理器 QM_JACK创建成功
6 U* z B+ C' p# M% _; @* [7 T6 b! P) ]% }7 e9 g w' K: [
图 16
9 F5 w1 C$ N& b1 H m系统队列管理器QM_JACK创建成功
, D* [3 m! D; a( P ! O. U2 M: {4 e& ~0 I
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): ; v3 o; k7 a! m; A/ G
! u+ f! [1 i( a' v( w# y" q 图17 定义本地队列
3 X: n4 L7 }, e. v/ T, r {7 l, K0 m0 o; D& Y6 v

& `$ k* s& g, X# q5 v9 m d
2 O$ b. D: @- U3 F# r, |+ d' B 图18 定义本地队列 5 G5 z! A/ \1 w6 c$ E
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 : M1 S R8 X6 f4 n- N7 ^0 x4 k3 V
图 19
9 l( A; x8 n6 }" d- Q创建服务器连接通道
6 v. F4 c* ~6 [. U1 M! e! V6 b- h& k 8 c$ f. \* J6 ]$ B
* I, w9 j4 b5 l# G$ e: s$ b* ?9 } 图20 创建服务器连接通道 / @6 A8 j* c: X/ K4 L: r" N4 F1 U
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse 8 u! d1 u, {+ h5 {6 M& ^) Q
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows - E3 k+ p' }( T! u7 n" @' b$ ~
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
( `3 ]) R) W: i% W 图21 . m( y" C" p3 {5 M) @
创建系统用户
j* l& z" a* V% {! Z 8 {0 D9 q) J; A/ D9 E
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) . a2 A6 I- Q3 E; A
图22 创建系统用户9 ]7 V3 B" {; W6 P3 I P
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ
/ y# a- v& C+ ZServer后系统自动创建的)。具体操作如下:
- N8 H# n! r. s) U9 |' \1 S* u$ f 图23
5 ^! z1 a/ Q6 \% e3 ^& v设置系统用户所在组
4 n7 F4 i8 `; F. V/ r 点击 "属性": + |7 q; W' z+ C: P! z
图24 设置系统用户所在组 4 v: S& j) C6 E# [
 点击 "添加": ' P W! f7 V. R [% m: {; L
图25
& x+ l# b. s* e6 L; O设置系统用户所在组- a, I; `5 Z o9 l& }; t0 m; s
 输入对象名称: mqm,点击"确定": 3 s1 `7 V4 ^' B3 B: R% o
图26 设置系统用户所在组 . }; I; d- f3 f$ ?
 root用户被添入 mqm组中: # G! j3 W! g7 z3 ^
图27 设置系统用户所在组+ x- v/ [, W" N9 g! V; c7 x& l

* {: f( @8 S) k1 A/ y" B' M+ B点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
" ^; V) x7 U. S5 h3 ]9 D" P: H! D |