首先介绍一下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从队列上接收数据
/ D0 D" C: ?7 U( u* W( r- B安装步骤。(此处为转载文章,作者已经证实所有步骤。) ! ?, B1 I) a$ K, O- z9 O
Windows下 WebSphere MQ 4 b: @1 X: Z$ \& t
服务端的安装: ( 1)把WebSphere MQ
5 f4 \2 s. B* n# [$ OWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
" K/ m/ o- @9 X安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: ; y* N. J8 u' F0 I- F
- WebSphere MQ CD
- 因特网
- 网络5 i: R! g: I: _# Z
" E& N" ?* N$ A( 6)安装完成时,单击项目左边的"-"符号。6 ]& m& H0 _% j/ e) U% b
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
8 d9 j9 p- Q) ~* x. XMQ"安装选项 (9)选择启动WebSphere % U$ w; n3 q: [3 ]+ q% }
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 5 p+ F* c2 _& D1 j" ~! s8 ?+ J4 g
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere & v% x; a, S' F& e" F
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere " R' J3 \) @: P7 X _5 v0 L
MQ"向导。 安装图示
8 [* r. u0 G: _6 s# W: @2 T9 O$ v8 W8 [1 o2 r; p( V! i

; m5 |4 M$ U* u! a! b
" J/ H8 k+ M$ a* G% i/ f, R' M
6 o" ~$ `. @/ y0 i5 }
7 V( s5 H) N) Y9 }
8 k" e L2 |! A, V0 r, @
- i$ z+ w$ [) W % U7 S0 V) ]/ K$ B7 a9 d. z
; n, \% `7 ~4 E: G! {/ h9 f( z: x! H/ r: R
0 f `. y) d; d( [/ q/ g

& L% V0 Y- S2 c# I* S+ v
& q5 S0 o9 b$ J2 d& C) t8 T : E0 t$ w1 j a6 c8 G2 ~
! v) M/ ?+ Q& R/ T- | . ] b7 H4 D Y3 ^
1 @$ [6 j1 f" V- L. x
7 b% w& x3 f9 g( F3 t8 [
/ g* k5 S$ M; U# A/ J0 x* ~. g3 i ( @: ]% b( w- M. h7 H- R% @3 p' q* R
+ N- P. V: R4 R& ~ Z9 r' g$ U
+ m; K' C" {) N" ?) W0 Y
# _: F- S" T8 H; }% ^4 i ( t; P! D% u) k( h! f5 k
z6 n7 H2 \3 K
) h% r0 W: w+ E6 Y& d$ S% t: _/ {* g& L8 i Q5 U

( ?3 o! V" U8 j t; i/ r1 [! d$ @+ H& N; U2 R) E

% ~) `/ p7 H( T4 g. X; z7 d: z9 e* v4 Y% V4 Q& ^
, V& X' B7 n) Z r2 u+ k& E
! U) F0 V( e0 u" W6 o5 {

) o. j7 |" Z: K6 S& W8 y
# x! y& C& {" C6 g O( d. Z/ h 9 Y* d! [/ _6 Y( `. W
" ?+ |6 ?& N1 r2 D$ i
应用分析
4 v( \# @& w4 A# ~& f3 J3 a0 ^
2 V4 @/ n% J- \; J8 d: t* {) M, k该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ]" G5 @, c, O) @
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。& k- G8 U( Q* f; d! m: N
6 K: s& D: B4 }& t
$ X9 z2 H5 H$ O9 d+ E/ G
服务端配置2 P4 @5 v) T' V! f
( @% a" y# c$ n4 r- j# Y1)点 "开始"->"所有程序"->"IBM * G6 ]( F% b8 d% W; Z1 K7 d9 F
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
0 C- A, i# @/ E. C- n( N+ X资源管理器界面。如下图所示:
8 E1 ~7 \& ^4 ^6 n- F# _! o! G" w, ?5 V/ L! b
图9 - M; k/ b; a! J9 O4 \: R
服务端配置 ) |& v9 F8 S5 G1 b" j# H8 h
 9 _% g5 ^6 H/ V( i' y! @
2)创建名为 "QM_JACK"的队列管理器
+ M3 j) f2 M8 ^+ C/ Q<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: 8 s% q4 L8 ^5 k" [( \ ^9 Q% R
: ?* |% T; }1 R- C8 U
图10 创建名为"QM_JACK"的队列管理器
6 Z! L+ l; B9 B( I: U
& V5 g/ k* i, i D) l2 Z( y<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": ; x7 Q" K' @3 v k3 g" J# V- W
! X& f# @7 q: c' L1 f 图11 在队列管理中输入"QM_JACK" 0 o! R$ z' R% z' {8 K! A

* y- M" z. q! ~<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": $ l* b) F3 S) y5 X4 s
: d0 o8 E m& X2 W2 F4 x7 Q
图12
. T# M. [$ k4 \( Y- |设置队列日志 , M' J8 Q; F% O6 J( c3 M

3 S/ q) G$ L6 F$ M<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
- x, H4 H) s3 r% L r* e
2 ]8 x5 b, U/ x" `& d( d 图13 创建服务器连接通道 ' w$ Y, m: ]# d: ?7 W

6 o/ o" f5 K' l+ S<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 " m; b5 ]/ R9 k8 }
+ E1 Y( ~ r3 ]# m& d 图 14
! o3 r( \( _% \) `设置队列管理器QM_JACK的侦听端口
7 _5 _6 Z& v J, k8 }$ i- i8 X
) u; w1 O& L: F' o7 O; y: e- s<6>系统进入等待界面: " ]: K0 t! f4 Y- Z! P
& c1 @% k" \9 X, F0 W
图 15
4 h; e& ]& O. T3 F. \( i0 w系统等待界面 6 P# r+ U; x9 n& p' T

7 |0 @0 w8 Q% Q# H% ]- E<7>队列管理器 QM_JACK创建成功 ) D- x8 ~4 F5 V! \# y2 _
: N3 v. @0 ]' D
图 16 1 ~1 l2 }$ z$ f
系统队列管理器QM_JACK创建成功 ! X7 Y0 i" o* P9 k: |" p

# S7 ~; r2 Z" g$ `" N3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
( j# Q4 L+ }0 q, H4 w, u& m: [
' j+ C5 G3 Y8 _9 r 图17 定义本地队列
( n2 G, J1 ^; B- y. g, O8 H9 y8 ^ l
& ]9 a `$ n( Q
+ T2 t5 d* {* a/ u( d
图18 定义本地队列
/ C4 N( D5 t, f+ h' e( ~ 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 * i) u& w- b, r* K" N. f0 f
图 19 $ D K- ^* d+ e+ |0 d1 C
创建服务器连接通道
% r; k" ~6 @# i; w % X' R; [& @; a6 \
) q( D F' k7 G/ Z& N9 ?' f
图20 创建服务器连接通道
! n" f( {' `: u 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse # ]+ t, k/ ]: Z# P" z) [
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
: E/ R6 J `% H% [( c6 D- L8 w! Hxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
# ]& z* y2 x$ i8 J |8 x& Y 图21
$ F. j; f% m, [+ b, p( K4 F创建系统用户
4 v/ x+ o U2 p' @( ^( D
* o& s3 V# v& l" P2 o<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
; C, c1 Q4 T/ z0 \$ o 图22 创建系统用户+ _2 v6 u& h: M. o6 H

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ ; C' g: T% E# P) Z2 T% Z. H& b& p
Server后系统自动创建的)。具体操作如下: 1 J" x1 Q! T% e0 K2 T
图23
/ n6 r* G' V# D, T; z9 X设置系统用户所在组 ( Y: O6 D, m( L- x7 I7 T' M' |/ V& j
点击 "属性": & b% e$ y. x* t8 o' m* R, H
图24 设置系统用户所在组
* d) j' F7 N/ z 点击 "添加":
$ X. u, L+ Z9 D+ q% [) t6 T 图25
7 k# P4 z) U) h0 e# y设置系统用户所在组
" w4 i& q! g2 ^! t# q1 L" I
输入对象名称: mqm,点击"确定":
& o" W# s& B- C& ?% I7 B+ ? 图26 设置系统用户所在组 / K; H' p) R D) ?
 root用户被添入 mqm组中: / n" K5 F* v7 i( V
图27 设置系统用户所在组
/ I; m" D+ K2 l6 y2 k" ]3 b
! a0 p4 X0 o4 z# Q* e点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 : `1 M# R# Z/ [! X" t: \/ q
|