|
首先介绍一下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从队列上接收数据
' i _: C% z" q, H& E安装步骤。(此处为转载文章,作者已经证实所有步骤。)
. h; |0 Z5 [! G/ H8 U7 [1 lWindows下 WebSphere MQ : y* X0 A6 v# k3 @ w
服务端的安装: ( 1)把WebSphere MQ
$ F4 y; N, ~6 e \( t! {! u D9 TWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ 3 g( T9 _5 F! g1 h. ]
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: ! Z( g2 S5 x5 G" W& G) \, S
- WebSphere MQ CD
- 因特网
- 网络$ i! C! S! f* i2 M. K, a
2 A+ G4 \6 S7 w: k; w t$ H
( 6)安装完成时,单击项目左边的"-"符号。* ~3 Q5 c! B# z: U! m
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
* P1 v2 G5 h+ ?7 n' R* OMQ"安装选项 (9)选择启动WebSphere : V! \4 n. }2 P2 x" O% c
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
7 O" j- ~, Y5 u: f; h1 @1 h% [MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
3 J) B; U! R4 z, WMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere 2 u& i- a0 A" Z' S) q- |9 u
MQ"向导。 安装图示3 x/ g. ]5 m- G+ H: U7 Y$ L# y$ c: u
' {1 I. Y8 Y: ~0 A# u) m

# N- o6 @- P* S9 O! ~5 t5 C/ X, b* Y( H: s

0 }5 q# L8 g/ V3 g) y! `6 N" j0 z. ~2 L. E6 ?! \

) s* h* I+ x/ q, ^- M9 q& E% D
0 v6 r( H/ \! s8 r# d* {# A 8 I6 ?: j( ~" V" M
j% P# k& o$ |; z7 G
- t( C! B' f9 ]9 E% q
, ?( ]0 r# S8 _1 ~% C ; Z8 E) B, [& ?" w
6 H, h5 P' v+ j1 a+ k 9 Z/ L8 v2 R+ A) q9 U
E2 V& g" o: h" B
0 U* A. e; d6 u' Q4 h! h" o- t& P+ y& l& @6 y: B/ L
3 m1 i! S: i& x
( @! q7 @+ M7 V& Q) ~
' \" a3 `, R: F/ q% u - z2 n) G1 E/ V. E( s

+ e0 I" a8 j1 c0 J9 C- E, j7 D
8 b. F( _6 t- Z d( G: ^! R
& O+ J8 G; `$ q9 ~% x: z8 M3 X$ c9 g3 G t9 B p
- x4 H" ~! H) _$ ] ^; a
6 q, \* H8 G2 \2 o, i2 O l

7 ]) z; L6 x3 \2 Q
" R2 B7 i5 J9 c- M7 M3 x, r: _) g / W3 E: e6 s9 Q' D' g/ g
# O' k0 J3 D; X& J 6 e- \$ _1 l$ a% t1 Q! j+ j$ d0 b
5 O G v- b# Y( U

- i0 G1 O' t- x- j! P [
& m6 P9 [: B. A; d" V + {8 e4 s5 O0 G n o
+ j8 `" W8 R9 {+ ~应用分析( \! _' F5 S- d. m+ x- Z
; q5 x+ ^8 [+ a3 i. w该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
# {) w: n7 v) G4 w, F0 R ~* X; ]2 g且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。
\6 t5 }1 p+ Z% V" K. V0 C. I2 g( Q
$ h0 G2 a) Q+ R+ `$ r
服务端配置
% I( b1 E, B# T6 O' l2 t7 s# N; p! s. ?9 B
1)点 "开始"->"所有程序"->"IBM 5 s5 v, T0 a6 l9 S3 |
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ c7 s7 O: q) t; x. S
资源管理器界面。如下图所示: % J/ i' I- O* o1 q8 {! K, e
+ e! q6 x" C+ E! W# Q: v- p
图9
& L" _' w% u! B* G服务端配置 , c# p7 I2 Z, d7 i2 @3 N

9 @3 O$ a4 ?: q6 [2)创建名为 "QM_JACK"的队列管理器
5 M/ r8 D X' g2 X# O<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
$ Q* k: c3 p- U, I
) S" g: i+ a" O! v( l* U 图10 创建名为"QM_JACK"的队列管理器
2 @: P: i# q$ Z, h
& K7 b1 ?. l8 v' @& W$ ~<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": , Q) c: {% Q0 v1 F2 m- R) x
3 ~) m. W, |0 k! \- o: u5 H 图11 在队列管理中输入"QM_JACK" 8 _- P3 z2 V8 Z: k9 D

2 b! S. X# X" c. E: P<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
9 X0 d, U F' L' ?; M
: Q7 j' S" s8 M8 ?. Z 图12
( f. Z/ m6 i" Q; {3 X% E设置队列日志
7 `9 j$ b9 j2 u
+ m$ M& g6 h4 }" |1 p* T6 o<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 9 d; Q$ e; B/ t0 G9 l) \
4 F1 ?$ M+ T& m% U! ^0 { 图13 创建服务器连接通道
3 t+ N( m; F# t. E / f& e# P; ?, Y% r8 H- x- t
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 . E; p- k8 b/ n3 g b% ~
1 j, ^: b2 _& Q7 G4 b2 F 图 14 + e( t9 ^9 v% V$ F7 f" N
设置队列管理器QM_JACK的侦听端口
, g/ u0 @6 w2 K) G9 e, i 3 f2 ?6 E, N2 s7 f- U" w# v4 |- q
<6>系统进入等待界面: " n" ~9 t/ b9 U/ h* p
, F& a" u( V0 ]
图 15
* a$ u7 X2 i: ~" f1 ~% i系统等待界面
8 e- X) z7 W0 p& I e3 s8 \ l% f6 H' c- @2 L5 ]- g6 ?# V# j' L* |
<7>队列管理器 QM_JACK创建成功 3 N5 a6 k, ? D' w% R
% a m3 J2 j/ N/ @* G 图 16 + J. w$ L. |) E _; F( @+ t
系统队列管理器QM_JACK创建成功
( e9 f1 R. O# d4 p
. s) [ j$ Q% C3 a& V7 w$ h3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
6 U7 J! A v. Y+ `" L. X" E* W2 N) M5 e0 _4 I9 x3 [- ]6 K7 Z& S
图17 定义本地队列 + ?. ?& l) T% W/ Q6 y) U( _
$ G( w* ]% B) b3 t7 }5 e
n. |, U" {7 t0 O9 r5 s
6 H5 r" \) e& p: { 图18 定义本地队列
6 B* X! f' M w3 z% W* C: M# e+ a% p1 H 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
+ C! r# P7 R b- m4 i8 L1 Z* ^ 图 19 0 z: k* c, r. B7 W5 y& f" q
创建服务器连接通道
; C& O# H6 n: o! P7 v9 \3 P) c/ @
% g7 g0 V/ P- h0 P! X( [8 ?! I" }! o2 R- z$ w$ K+ ~4 @1 z
图20 创建服务器连接通道 , Y8 t: J& R6 L; b, O
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse ' r5 Q6 K, S6 z7 J" \1 v
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows % X; G( ~6 x3 d: o2 y9 Z
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: l H5 e) x2 _* F2 u* S* _
图21
. T' O9 N/ M8 ^( u创建系统用户 9 ]+ D! j4 h% }. ?
 6 i! z6 L0 g# Q( p& u" R9 _3 \
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
- ] R E7 B4 O1 _1 I/ `2 ~* N$ J 图22 创建系统用户
3 g5 M7 w" p O, M% M! a+ h
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ
( `* R; U( ], l3 }- t+ yServer后系统自动创建的)。具体操作如下:
; ?. W7 v; u% I7 T3 f 图23 . g" T }. f: U4 [( k6 s5 }' U; \
设置系统用户所在组 - \; P7 _9 M/ W3 D8 C+ U- w3 \
点击 "属性": ( l' y$ _) y' m) r# h* a: d
图24 设置系统用户所在组
6 M: e( Q2 p6 x4 F E 点击 "添加": % H6 E( p: T: D, x5 k `6 E
图25
+ E- h% C$ D; n E; A! ?% c+ h# L设置系统用户所在组
% x% j& x" F: b8 ]0 s 输入对象名称: mqm,点击"确定": & R* {& R! o V5 C+ w, J# W5 _+ v
图26 设置系统用户所在组
( t. ~9 X2 s9 r: R root用户被添入 mqm组中:
3 T9 `" y9 b$ B. m! H3 C 图27 设置系统用户所在组. m! A3 ? G1 N" G/ J1 b' b3 Q
 7 n" c( {$ w0 B/ u
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 ; _# ^3 D; \& k* O- M0 ]
|