|
首先介绍一下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从队列上接收数据 " `: Z4 q2 A+ A
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
5 F- ]$ C' p6 P9 ^- ~Windows下 WebSphere MQ
% }# ~$ p) c7 F; @服务端的安装: ( 1)把WebSphere MQ
3 K% a" ]( w. x. _Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
3 S; E+ _2 v3 k& w& @$ l安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择:
8 e8 g4 r7 y$ W4 @1 ~4 w8 w# A9 _ - WebSphere MQ CD
- 因特网
- 网络9 {7 G$ C" z! `* V& h, M7 N! ^. N
& r' U7 d8 }- L( 6)安装完成时,单击项目左边的"-"符号。: V7 B4 |$ Q y6 r! F& M7 v6 c9 L
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere 4 T: k3 t! l5 @$ }" b) T8 i% {
MQ"安装选项 (9)选择启动WebSphere
6 _9 ]: n/ t$ `* gMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 7 a; F5 M7 ]6 y R4 o* I
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere ' k, r. Z% C }; Y0 ]8 W1 H2 f4 J
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
! A) i0 s. S* vMQ"向导。 安装图示: |! S5 k6 Y% @9 F$ ^5 h# \
4 U; F7 ^7 A% F+ D% U
$ |( S S1 i# A$ S3 v, v7 |; B( H$ z5 t( l

. p' O% f2 q. Z. A: O
: b& j5 C+ ]3 {0 t9 R, T1 W
5 n0 k R* F/ `7 T- d
& g. _- \5 n) e: L. ? N+ L / Q. t' A1 b" }+ F0 r0 k+ e
! ~+ i) y0 S' A- V3 \
5 x% k% v; Z+ O0 h% I0 y' `
1 L& i) z6 m" x; L* m- W

$ M2 D4 c2 Z# w- y4 {; y, D4 f' O, D% n& H% V) p
9 c; e: G3 ^; v
4 @! N: V4 {7 D7 m: d& I " Q& B% K% U8 g, X' J
- R1 ^2 D1 Q( t+ l

7 }/ d& s' u5 g9 L" A1 L! a" {/ ~: {0 s
& F" s3 b) B* d) S* A' `
) m9 x8 z3 h, {! V
, h6 D& `$ W: l- m# \9 a( I( E( [# ?
- T3 V* P2 [! X/ [8 i
2 Z: [1 I. b! y' B1 v T/ Z
0 v4 l6 q2 g; `, s* V
7 ~5 O7 O9 Z Z3 |4 r
0 h' @) V. u& k+ S \ 3 A" x* M' \- O; @& \8 Q
2 o6 \, @3 a% T; ^3 L2 P
; f$ i% n* k6 o, q {8 ^
/ Z7 e. n. t# G) m. `; U( k3 L: O
F; ?1 B+ A% p% W+ }4 {
8 r4 b$ q3 a4 W) s+ | 6 f M& s) K0 x3 P
]+ @) g, R! G3 g0 C4 J & ^" z& }) ^! U k0 d1 [
* u2 P! p& L2 C& }) w
应用分析5 m% |! @. c) [1 `# E6 {- j
4 A; c7 o5 o5 l
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
2 U. h" M$ H) d& v且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。5 k: {6 V M$ b+ P
4 O% [$ _/ f. \' k
- \ `( d2 y; v' c9 p C( e
服务端配置: f1 i0 P3 o, {
0 F; v. F6 p4 H- M w& F3 b1)点 "开始"->"所有程序"->"IBM 8 C) ?" k9 M+ a' Q/ p
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
( B4 }1 l' {0 c, |) P3 o6 w$ }资源管理器界面。如下图所示: + g [+ m% d& I1 x+ l
! d* G0 N0 X. E: d5 F
图9 1 e* N- |1 S" S" U
服务端配置 - e7 `1 m; }" q+ g0 \
 / D1 y. l! ?5 _" g
2)创建名为 "QM_JACK"的队列管理器 7 x5 C- `* o' T" b! p% A
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: $ I* x' A! X/ O5 `
6 U$ J' B+ b; \& B7 ]) l% c5 O6 f
图10 创建名为"QM_JACK"的队列管理器 + O$ E1 N& c9 H" u8 e
 # F# U; A9 z' [9 l
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": ) r( D0 f' }3 T5 P! V& H7 E$ r
9 }( [3 T, e% }( {: g; Z- b! q 图11 在队列管理中输入"QM_JACK"
9 W4 k% K. K t 9 _( B1 R6 b" W* v; Y6 e
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
) C+ e5 W; L% Q5 u7 J) Q( h
/ v8 n0 S( [6 J& y& h; I 图12
# T0 G8 k: K6 N) J" L设置队列日志 2 [: k& Y$ v7 P/ O
 2 O/ J& T: D: H" F3 h7 Y0 N
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": & i6 D0 t7 P+ l1 ^
% B2 h+ ^1 ^1 C* t
图13 创建服务器连接通道 9 Z# D$ j, m) Z, \
 0 [" n4 o$ h7 \+ _- i0 X' v0 k" k
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 7 f: s. S- @0 P. N# X
9 F8 w$ c% [' O+ @# w; s. @8 ^ 图 14
7 t) |- M& {4 {9 K4 `: K设置队列管理器QM_JACK的侦听端口
, L" D; g+ S! Y- c! x. x 8 R* t) J9 X4 {0 u$ B
<6>系统进入等待界面:
0 V5 I! {% b3 E0 R& L( c: m* `( u. x" [ P. }
图 15 - M2 f7 R% M: E# j/ X) K; P' d+ \
系统等待界面 7 @3 [: y9 F: c: M% G

+ D4 \$ m1 K' l6 c<7>队列管理器 QM_JACK创建成功
7 b* J' ]( n1 a: `# o. P ^8 Q5 g& C! R3 q) k' ~- Z; P/ ]
图 16
4 K7 x- s# _9 Y# e系统队列管理器QM_JACK创建成功
1 Y: ]9 B8 X7 h, ~7 ^; |# l& t5 j
' Q2 _# ], Z" r, C. H3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
# { f6 E5 Q' p3 H% `! A8 J q% \+ G- X" f
图17 定义本地队列
7 Q+ {6 V4 I' n- U5 r% {; j; u& [0 q

- ?: M' l y/ \ q
* F3 S* t2 O/ a- p# B 图18 定义本地队列 7 v5 @3 `2 m; ~1 j9 k
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
+ O3 {' n6 Z8 l( P( j: ?/ O 图 19 5 y$ q! {# }) ~
创建服务器连接通道 : f7 u) W" L) c$ g9 H! R1 Q
2 f7 D; ?+ u9 \/ f
. ~5 S8 b2 _6 I. X 图20 创建服务器连接通道
; N" y& S" v8 [) c( q 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse ! j3 }% S- M+ _' {0 @
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows 6 b' _$ m3 L/ I/ Y, q
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
3 ]2 D+ r$ I7 A" C9 Z5 f$ ~9 _0 c! T 图21
) U7 s3 G1 H8 b2 @, P8 R+ y& D创建系统用户 4 s) k+ d# ^9 \, v( a8 e/ C$ e
 9 T/ u9 P1 k9 h: [( x
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) 6 l& o8 ]: h& I$ t& r7 q- z# }
图22 创建系统用户
! s: y- a( A1 e/ `* O3 I7 C4 t& K 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ $ i! I6 D& M$ l3 K# I
Server后系统自动创建的)。具体操作如下:
5 D* O4 b% s' t 图23
3 q- A1 r% @2 h设置系统用户所在组
1 h4 {$ f' m* ~( E/ O+ I% E 点击 "属性":
5 p4 @6 }$ c; a0 f: Z1 a1 y: M 图24 设置系统用户所在组
. E1 e1 j6 J: k' Q$ ? 点击 "添加": # v" T1 d- M, @1 u
图25
9 n8 Z- j, A3 X8 i3 q设置系统用户所在组* [+ ?) k( [0 s! F0 H! j' t
 输入对象名称: mqm,点击"确定": % y, }8 N7 J/ K" C
图26 设置系统用户所在组 " S7 i. Q. O- s
 root用户被添入 mqm组中: ; }4 A" D- I0 A( O
图27 设置系统用户所在组
9 \7 h7 d& v& t, X/ Q ; B/ {7 ?0 v8 l' Z; f
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 , Q/ s( g' R: k# q# J2 [
|