首先介绍一下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 e+ I+ H4 ]7 ^5 G4 @1 B
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
/ i) l; c+ \: Z& ]3 G- j+ s8 v& fWindows下 WebSphere MQ * Z$ r: A+ x' W! X( U
服务端的安装: ( 1)把WebSphere MQ
4 o- Z& O/ a1 i. ~! iWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
7 I5 P9 H Y( K9 ^安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择:
" I9 d' [: \3 h0 v3 r2 [0 x - WebSphere MQ CD
- 因特网
- 网络' ?8 _4 T" W: w# R
; l/ l+ j% L& Z) }, Z4 H( 6)安装完成时,单击项目左边的"-"符号。
$ F) I! |& P$ `% T: ~8 @注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere 2 _- g1 O$ Q6 J+ V/ V" B9 g
MQ"安装选项 (9)选择启动WebSphere
; ^" k% I* {1 J7 L* X# cMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 7 s# F0 s( F- D8 N7 N* a
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere " c+ U+ H ]2 r6 O- J# L! }! v
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere ! W% K, H" X' T& ?$ r
MQ"向导。 安装图示
) [2 E9 v6 B5 n9 z4 i9 q; |/ j( ?( I
" \) a; u: N# D, } 7 R- E% j0 y3 b
1 e* I0 i8 U5 q. s
; C" ^) R, y" }6 G1 O K0 t+ T5 _& X% Z1 Q
' R, O9 W. {6 S7 M: ?
3 \7 g5 s, S& J# m# b

. x J F8 F, g) {) y
5 F- h6 D9 e' \4 H" s* c
6 l7 @0 `. V) h5 s
- _. d; W: [# A4 {( R 5 k3 L) O% T A9 |8 F6 N& f: p
4 z% B8 x* _1 M2 T8 u; P3 J5 p
+ H6 r @* D5 T
) i+ k3 P( y# \# h/ l8 h1 G( k7 H

- R* ]2 z9 M9 M6 r! Z8 T$ t: B( d$ `# o
$ W2 Y/ z& W4 z
( p6 U% p( i( |+ x; `
3 T9 B$ m1 E2 J, f
+ E+ t0 g( b+ C
+ e s5 h) t5 V( Z( n% v
* U7 `" Z3 T' Q% E
8 h$ e2 M! W# W; v
3 m: ]/ u. r M8 ^

* ]: H5 ^! H& ^: V. A3 }: P" y9 ]% a" A( g9 n' ?

) U0 ]1 b* F# `/ R% { Z; w) {* N! Q6 A1 @0 W

5 k, U5 a. R3 b! [3 ^9 _$ v) d5 D$ R* U9 W, \/ ?2 b- K0 E

) k) U3 \. Y/ p' E6 Q1 X
9 v1 n: a+ ?# _6 W: z$ c2 M / ` D5 i0 Y* y* R* X( ?5 c2 N
4 {$ P8 s) R3 E
. f, y+ ]/ L& B! c8 J% r4 i- U+ Q' R5 D0 B8 ?
应用分析
6 g& _/ E# l0 e9 P, j* ]1 k* [3 x- _
' r7 X3 z2 Y; Q- `. a0 E8 v该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, * N% A4 E/ G& G9 W' O+ ^% A
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。
7 S' x3 A3 G7 n V! N) L
/ P) O Z* P) Z1 r6 V ; [, c0 W. G0 g9 @- G
服务端配置' N" b2 S: W, f& S5 O4 n& a0 f
: l) a4 o/ l1 ]" X$ n, Y1)点 "开始"->"所有程序"->"IBM , J2 Y* F- R# f4 G0 n' K
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
2 C2 F2 y4 B$ y. ], a j5 _资源管理器界面。如下图所示: : r! r+ t2 J3 ~) u
3 a8 P) }' s, b+ J1 M7 h" p& ~ 图9
7 e/ ]; y/ l. z" X! h# |/ i" A服务端配置
3 z( ]0 _- X2 G& W& @
$ Q6 u/ T0 }) `2)创建名为 "QM_JACK"的队列管理器
! `6 u2 h C) F# k. |% f% M) z. ^ v+ F<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
/ r" U1 f; u; O
2 _: G) g6 Q- _" j- |; C" Q5 a& G5 F 图10 创建名为"QM_JACK"的队列管理器 * c4 H! |! [# a, r/ l/ ^

( u! Y& z( w) w/ p" G<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": % e: E2 B2 i/ o5 O& u
; O2 B5 j8 u) P- _8 N( ^ X 图11 在队列管理中输入"QM_JACK" 9 n) z; a a- W" u

* R- H' \) ~& p, E<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": / o- d* \& i, G: ^/ n/ Q! \' n
% s" k0 V# j- @3 t( \% Z 图12
8 y. r2 F$ B1 h% t, Q3 l+ D设置队列日志 8 K2 {6 G& e! C5 |
 3 S Z+ r$ |& S! {
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
* C+ N5 P% ]6 o* {3 i: }% o+ R! T. h2 Q5 F
图13 创建服务器连接通道 3 N& d* w" c, ?6 W; K3 G! Y& b

3 J' Q! x, s" X/ k" I0 H" _<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 # q5 R1 W; K6 G
* s/ U+ P+ `: e' W8 |
图 14 4 k/ x: K1 Y' s1 M- l( d
设置队列管理器QM_JACK的侦听端口 ! W7 H; J' |! k

) O8 y/ u N+ ]+ A<6>系统进入等待界面:
5 ^1 {* |. L4 I* Q9 k+ O7 w" c
5 y+ j9 _( \7 ^9 x: b# m 图 15
/ Y! G2 j: @0 d, j系统等待界面
9 {8 W, ~8 o, c1 V, P
v$ v1 i4 W# Z: O5 w<7>队列管理器 QM_JACK创建成功 5 y. R( t$ c+ ^
9 b1 y$ t2 W6 |2 ?1 e 图 16 % l- w. p" o3 S4 D" a* t
系统队列管理器QM_JACK创建成功 2 J. `: g |0 Y' P$ g
 . ~: ~0 ]$ k8 E9 }. }' l3 U$ X3 c
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): 3 L# L, P$ K! ~9 I
. P9 r2 j! k( U3 j5 N* Z3 U4 f 图17 定义本地队列
9 S' d! b) V4 n$ f/ j% B4 ^! ~0 f7 ^' ]
! M) ^+ m# C" c- N# H/ @
6 W; T) N5 ^" Y9 I1 D8 x5 W 图18 定义本地队列
8 s; e/ r" Z$ M" ` 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
/ T$ ?7 |7 t- I( J+ g/ Z' c* B 图 19 4 Q! X0 w# U" R/ ?# `8 t7 i! [% h9 \
创建服务器连接通道 # w" p' n! d0 Y5 c
4 r# Y0 m# |' g
( Y- s: D8 N- Y6 n 图20 创建服务器连接通道
1 h9 E% J& N9 Q# Z5 `+ o6 T 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse # k6 }, {5 u. u: e2 ]
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows ) w) t X' l _9 D
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
9 B: Z" t( c; o+ O/ ~4 D 图21
. u0 U: K) p) r/ ], y创建系统用户 2 |5 Y* [1 K) s6 @; K

) k+ d+ S) p" l# {3 @# R' Z w<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
( A5 L2 N2 h4 X& {, z 图22 创建系统用户. c7 {3 c) f2 _7 w$ v* T! Q. @

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ Z4 n( k% b# v' u# m5 _
Server后系统自动创建的)。具体操作如下: - U" K5 R7 k. _6 r) U2 e
图23 7 b* v2 i" V! j7 @
设置系统用户所在组 6 U7 M& N8 W. t D3 `6 t
点击 "属性": " U: N7 c" X5 E
图24 设置系统用户所在组
7 L* {4 d5 b0 A( q7 m* ] 点击 "添加": ( ?( T9 X! E' s. \, q6 b
图25
2 I* _' @' p0 H+ c设置系统用户所在组
8 u' E! F# K" O 输入对象名称: mqm,点击"确定": ; n( S* d& L8 h% n! \
图26 设置系统用户所在组
8 j7 a, S9 w4 W1 [& o root用户被添入 mqm组中:
, i$ y/ c5 F4 O# w 图27 设置系统用户所在组/ R7 h+ q4 F& ]8 E. q
 1 @' u9 m/ Y$ A4 V" y4 D
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
6 t/ @' `: Y, ^( J" H( ^: @ |