首先介绍一下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从队列上接收数据 3 U$ a% I5 Z5 E w7 k0 `" I
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
I% w5 W! D7 F* y" L, iWindows下 WebSphere MQ
/ g! }6 x9 ?1 V服务端的安装: ( 1)把WebSphere MQ
9 S2 h# k- W* Y, XWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ # N' ]; p& B/ @( Q0 a& M( b( i
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择:
# s9 Z+ |5 y8 u0 H$ p - WebSphere MQ CD
- 因特网
- 网络& P8 [0 P3 e1 E8 k
$ Z) I5 T+ g' Z( Z
( 6)安装完成时,单击项目左边的"-"符号。
( O" G) U$ l {3 ?7 w1 y3 p注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
% F+ u+ ^4 w* M0 t4 y/ {; OMQ"安装选项 (9)选择启动WebSphere
& _3 g4 [+ c6 h. Y" l1 T \MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere ) T; ~+ z: j" ^
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
H) w4 y1 C _# `0 J$ W- _MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere - k. k [) ?* x
MQ"向导。 安装图示
/ f; T' B4 K) ` M
: b6 k+ ^2 y9 n + y. X6 {* r9 \: T
" X |+ k' q- J+ x. Z' O+ X1 p0 m
m4 _0 v! m Z m& I4 O7 l$ Y0 m0 v
, B& P- L4 K2 J4 V& z8 f
, V" Y4 Z) f9 E: ~4 Q( Z6 }* S7 U9 V/ U" m1 y. q
+ I! V/ v: x, h+ M. J7 u
g/ b# a7 A& I+ ^
6 M% B6 Y4 ?+ v, N1 |5 Y% Z+ R2 c. J
6 D3 P1 s) R: X" \9 e 9 Q3 H7 [* \1 {; k
- L- R+ Y6 @8 J
3 K& U* l% ^# h& ^% G& E
2 j3 \" A( y: ]

: f: Q6 `! b2 G- C$ Q4 W$ j+ x, G# \* m# P1 I, o/ u

! b& x$ @2 _8 ] l$ R+ F8 q2 B3 `0 f$ m; B" g) F
3 {& `5 s H. N% X, B p3 H- m
5 ~: R* V( \% d: r- p
5 I- f) K' C* w/ C a3 V
8 f" @& x5 k; M2 E) U + ^+ F1 i. }% p- J9 j# T& y2 m. X
6 u; ^0 _8 T+ B7 m4 f8 _% m* O& K

" d! M# J3 f* |0 i( w+ L+ ^0 m: X
6 r1 c* m- M! R0 h1 T
2 y5 b8 Z( P0 s) m6 e1 N S5 S* Q7 M" n0 R+ [
: D7 e) p- n3 r' z4 ]+ c
' Y( i |) q# a' M' y4 ^; {
w- o: Q5 o Q6 ^
2 E1 c# g6 P8 m
" Z: C$ O$ j# s3 h- w- Z1 u' r6 K
3 L, c1 Z( e0 h" i% w1 A; _
5 G5 x# @" I5 a" Q+ e% p2 H* _& x
$ v A Q6 r6 w应用分析
/ y) ]& l- u1 L0 ~
8 F/ L5 _! l, m2 m# S- T该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, / i2 `5 g G/ a- j# h
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。, c8 f) \$ F6 d& j) s N
1 H. T; l2 r2 _6 v% m
0 t5 D' Z0 M4 h+ `
服务端配置
; h$ q2 r9 o+ J# Y! h4 d: |4 n" ?. e; V+ n. ~4 `" ]8 Z' u5 Z
1)点 "开始"->"所有程序"->"IBM * c3 U& a8 n; E9 S8 n
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ / f1 k! b/ K g
资源管理器界面。如下图所示:
# O0 X% U% P1 |; S% a" ]+ D4 k2 `2 Q# T; m3 L& B% ^' o2 n
图9
$ a2 I; ^* G+ q1 L" h- Z: f" ~& q服务端配置
i7 g" b; s3 G( P' \/ _0 c) } - h( g( J& V+ }0 L
2)创建名为 "QM_JACK"的队列管理器
+ x: `1 s: D: H7 X# F$ ?<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
( _- N1 m. X9 z) {1 ~& G: Q+ Q# E5 v6 m3 G! U2 r6 M( V
图10 创建名为"QM_JACK"的队列管理器
# C8 ]# e0 A& ~" O9 b7 M 4 g" f/ c( o) P3 i j
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": ! ?* P5 X) i1 j
5 ^* q, v2 L0 y8 T# }) o3 a
图11 在队列管理中输入"QM_JACK" % e6 K( e4 Z) e } L/ C

, Y: e% _- F2 F<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 1 }9 r" U: Q) d
1 z, S. v. v' X: ?; m! S; u% T/ U5 p5 ^
图12 % c+ F2 O5 v! T* X8 I- B5 Z9 h. z
设置队列日志 2 @* _9 `: ^, W2 [
 , n/ @5 j. A0 @' d5 }
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": - p: {7 o/ E8 O8 q& n( o4 `3 b4 e
1 B( i7 L6 V7 v+ b. L7 M
图13 创建服务器连接通道
2 N# ?2 ~# F( L3 i+ d, V3 N+ t 9 `+ e8 g0 s" z" a# A, t7 f4 ]
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 7 v i4 e: C. K9 S* \2 e. [
; o) j# H, v! e* { 图 14 6 | q+ Z: \& I! V; [0 B8 J8 B
设置队列管理器QM_JACK的侦听端口 * G x! b8 B3 g
 / c8 i/ D/ |! f/ O& W
<6>系统进入等待界面:
; ]7 Q. C" h* r) x4 z
. W* d$ [9 a$ K9 z0 E% t1 u) ~ 图 15
" t6 w( l% c! K3 H. n8 [ Q系统等待界面
3 m9 Y8 W" n4 |5 D
4 F# q/ n$ N; H( `: U% ?+ C<7>队列管理器 QM_JACK创建成功 : D* w# e) F6 J& G1 h
$ I8 X: k: D" I0 _
图 16 5 m2 }7 e' O1 k2 f
系统队列管理器QM_JACK创建成功 . D- @( {% ^, l9 v* z

5 H6 q, w& @, }6 T' E3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
7 y8 ]$ Z# ?) H8 B! ]" u7 c( Z/ ^. v
% {; h) z: I/ W3 U 图17 定义本地队列 }0 q8 l8 E2 O% s
. \* p* ?+ k' c; ~' H }. K
9 d2 l7 k$ ~" N% M
5 s D+ h, m% q" S0 u
图18 定义本地队列
9 _2 v* s: F; ?/ K: P3 w! Q9 @ 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
& ^4 l6 a: [7 N) I 图 19
: I5 }& t6 d2 s8 ?创建服务器连接通道 9 o+ y2 I; T4 ~0 I; b5 `

/ s7 o, u" T4 c, }4 U8 Z, E, B d$ a% t( @
图20 创建服务器连接通道
0 ~5 T5 H6 R- } H3 e 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
, L7 Z3 p" v+ xLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
8 ~# a7 S. @# A5 Sxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
% s3 d7 y9 h- Y; T, o7 ^ 图21 ) l* w8 O# E4 j5 |! P% U% P
创建系统用户
3 D5 A+ z/ J# ]- q' m+ M7 V$ L" P
, y8 \7 N8 y6 w/ g* U" m<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) ( P6 V x! f( P0 U0 \/ \; p- a
图22 创建系统用户
. s, Y6 d2 \) L1 v8 m 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ : e4 K+ N( I4 n- G# ?7 H
Server后系统自动创建的)。具体操作如下:
7 v' U4 X1 ^3 z5 f 图23
# M* C7 |: z- G9 N K$ C+ g! k设置系统用户所在组
4 A5 p& Q# Z; N9 } 点击 "属性": ) |4 d" l# ^5 s3 w$ \6 o
图24 设置系统用户所在组 * t j1 u" C+ C
 点击 "添加":
; V" ^3 Z. f9 v1 Q/ |/ A 图25 . o7 Y' c- k4 C5 i* m+ D7 B
设置系统用户所在组
9 H; }, a4 w- f+ L- Q
输入对象名称: mqm,点击"确定": - Z) [0 z; w+ @2 M1 @ R$ |. Y
图26 设置系统用户所在组
$ ^3 z( {8 m; ^ root用户被添入 mqm组中:
% c3 ^& V2 Q b+ g 图27 设置系统用户所在组
" X; G" b0 q* i- K( p
# m3 \2 t/ Z0 B Z9 H( f; ~点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
. L9 y) w* s/ d; t2 M+ F0 R$ d |