首先介绍一下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从队列上接收数据 5 B; D% l. B& N1 n4 I* J4 W
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
+ v( [! t0 v6 B6 x" t3 yWindows下 WebSphere MQ ) B6 M/ ?* ^- w; a% _
服务端的安装: ( 1)把WebSphere MQ
+ @9 j, q9 F5 v9 H2 E4 |+ vWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
5 Y" e$ j' u" `; ~* E8 }安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: 8 b8 r$ }) f# n6 | [. L
- WebSphere MQ CD
- 因特网
- 网络
" M& q; J3 _1 ~ & a/ P. m$ Z. y6 O5 m, h
( 6)安装完成时,单击项目左边的"-"符号。
! i9 q2 H# g! Z" v9 Q注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
* H1 W1 ~ d# c }# PMQ"安装选项 (9)选择启动WebSphere
. P2 S: O {+ Z: k7 A' c" t# bMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere , a% T) ]- D7 b* A
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
3 k! @" _5 i5 R; a9 b' ^MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere ) i3 ]+ _7 _4 m6 }% a. o* Q1 V6 p4 v. l
MQ"向导。 安装图示
. D" @& H) Y4 d, J4 ]- ^- u' U0 R, j, p

4 c9 Z3 O+ f% m5 K5 O4 p' l6 ~/ d# ?! M' J- }

4 { t: ]2 k2 M- Z- ~' i; c' |* I3 a: J. R

4 A% ~8 E- w n; m" J# i& G. I% j9 O5 H
9 k9 L& L3 k. O& v, {% N3 m
' ]# l$ t+ h5 u4 u5 j, L
7 \" I6 y: R( i
0 r; I2 L* Z# j* |, z! [7 O: h+ ]& Y
" \ O: N! i* a9 q/ Z9 F
# H% u ?# D% { x
! ?- d# r/ |- ?$ m5 E
F' b R. H, m2 n ) p! [. d. b( ]5 y1 ~
6 w& O: K) F7 e( `7 {) {
! p1 }8 E# m# C# n& p0 w/ {, ^+ m
) _ I0 [/ N' Y6 L3 q+ s/ E 0 r$ f8 s# x: q; Y, Y8 [7 a
- ^( y$ {* D3 ]9 }* D4 d5 K1 b
, D- D* U' `/ @& l+ s. W
$ G) i8 w/ Z$ ~6 u, S
; P Y- ]' c( d& J# y0 `

' B0 [1 U- d* T3 j. e
9 p- q: G. A2 x 9 Y0 E% d% ~* |; R% q) d
2 j6 C, {. _6 g) d " w* I( F2 P; Z) J* _! X
: T8 m& N, q, o
% t2 }' M- I6 l2 ~
" h9 L3 K! \) H5 ] I

) f0 D8 y/ r: O0 X2 k+ S( A9 R) v# e, I0 j
% N2 j/ ^# i- ]9 [
7 q" U; j' t T! k/ d7 j3 C1 C
应用分析
1 C5 t% L/ n: T& C+ m4 _6 `) W& b
* @ @( B" n- f# M该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, * w) x! v) U3 _
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。0 G, C) m6 {& f8 ^
1 t5 r6 ? F" j, H 7 n) T; {/ I5 X) o( t0 {
服务端配置7 S. d$ H4 X( k2 v
1 _9 U9 s/ P& r$ K! W- t8 K/ z# T
1)点 "开始"->"所有程序"->"IBM 6 G3 ^( S/ V: `" y
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
) S+ K; g9 G8 ~; G0 @资源管理器界面。如下图所示: 7 @; X% h) j3 B5 r9 a* o: G: ?- L
' B- W3 B+ p/ a4 I& Z7 a' R5 U4 C( ?
图9
& H n) |/ p; d/ j" H5 ]9 W服务端配置 # W% y# r* F' [# E# u& e
 8 M" O! p- i( z6 H s8 e: D
2)创建名为 "QM_JACK"的队列管理器 7 `% m: W) w+ z
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
2 E1 b$ k1 m L& w2 c j& e, r( V o+ V* M! \; q2 T
图10 创建名为"QM_JACK"的队列管理器 4 q$ f! ?8 ~- l; c. D
 ) c! e! W1 ^% J6 V8 S
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": $ k* I. A. _. K0 n* {: [2 h0 r
! W6 b7 M: d. h- I/ s
图11 在队列管理中输入"QM_JACK" , v7 m) H1 i+ Q: ~" v" t# F
 , G/ t* @% |. R5 b2 q1 r
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
9 ~7 E9 b5 j( j$ {& n% w
+ v" k+ }: i4 O* C3 [ 图12 2 V# C! I3 m8 T- d/ P- d8 U
设置队列日志
' V' I5 C' B4 {( f0 G : c4 E: G/ b) p
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
J9 ] O/ M- D [) ?+ N$ P
+ J8 s. C% U, Q# h* X2 n 图13 创建服务器连接通道 0 `+ W6 P5 P. U6 b) J) k8 s

' G: M( t1 A5 |8 Z- I7 _, s. [4 h<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
1 n. k3 |( w) n3 W! e. Y N6 ?* q. F% D
图 14 ) i, K0 }* J7 g" z5 S! Y' n
设置队列管理器QM_JACK的侦听端口 2 k0 N% {. }3 O
 5 u7 w; g, F. d& v# s
<6>系统进入等待界面:
# a' W- f+ Y. {- v z
* e9 l( s1 P- g$ q 图 15
3 F: g2 |+ U3 W/ y/ L( W9 s( G系统等待界面 9 G( g7 g+ _2 ~; k$ n6 f. k/ @6 \% [

3 g0 s7 ?7 p- N2 Y* Q* ?<7>队列管理器 QM_JACK创建成功 & X) b4 C1 Q: V' V& \
- }2 i5 `4 t) D+ J8 R% E# s6 R% Q
图 16 + `! g1 J. m) q7 H
系统队列管理器QM_JACK创建成功 # H3 J I2 d. L& @* b+ R

7 |2 c4 [+ v% I4 A6 ~3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): ) O2 l; x( q. ^: e5 W) Y
+ _ F& X, Z9 c5 A E( E
图17 定义本地队列 $ m. q/ Y# h- p n
, ~. {( k& T& `, x
$ C- d' r1 r2 }. l! T% Y
# s# T0 F) I" B% _: S3 O 图18 定义本地队列
; `2 B/ y4 T3 K4 a1 u. O2 {5 R9 _ 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
~! f5 w( n8 [2 g' f/ z 图 19 $ k- [7 ~5 A2 e$ Z
创建服务器连接通道 % u/ h" P- Z# W, f8 }3 b

?2 o$ I. T1 b; |) S: F( Y
7 U7 e9 ~3 w D5 v 图20 创建服务器连接通道 5 a' u/ { E0 F$ \4 N6 ^
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
( ?8 C3 q7 ]& ]! B7 h5 D, q( WLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
; z1 C1 G8 c8 S6 G( dxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: 3 I& @" k4 w. n3 \: G2 }, l
图21 5 ?2 O% I( @+ y, O: I) y3 `
创建系统用户 / R; X- A ]8 h$ d$ d

/ H7 O0 J# q$ G7 `7 E' H( W<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) r# ^5 m6 s. z, {
图22 创建系统用户3 q$ G5 r0 Q* |4 u ]& _
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ & Z8 W2 l5 ^' E% j' S
Server后系统自动创建的)。具体操作如下:
3 M- E) A8 ^$ N6 x; F 图23 . U# W* k; M( H- @7 i* S
设置系统用户所在组
: p* s/ Z6 r1 D. | 点击 "属性":
! g; w. Q0 R4 b" G$ [$ x+ Q) p 图24 设置系统用户所在组
" c, ^4 P9 n; F# _1 F 点击 "添加": 9 K- t M- @0 \. x
图25
; L( W& E6 t6 h' L设置系统用户所在组
9 g* Z+ }& |% `) l5 S 输入对象名称: mqm,点击"确定": % t0 s: M4 _4 X |
图26 设置系统用户所在组 % s2 q5 z, _8 o2 N" T# z4 l
 root用户被添入 mqm组中:
# H/ G4 ?/ L) ]% j 图27 设置系统用户所在组. O+ d0 c( \9 t/ H L6 L
 ( _7 o, A9 K" b+ c& Q7 {
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
" p4 i) @' n, V; w/ l |