首先介绍一下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从队列上接收数据
. W+ Y; j5 b- m9 C% x安装步骤。(此处为转载文章,作者已经证实所有步骤。)
( h6 t( g3 T! k" T% dWindows下 WebSphere MQ ! d B$ a K9 e" o2 y8 Q( _: O& y
服务端的安装: ( 1)把WebSphere MQ
$ N4 j5 E2 \7 ?0 H! ^Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ : c% O' K7 l1 L3 B7 A. x
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: " E7 L3 q2 c5 E# c) F
- WebSphere MQ CD
- 因特网
- 网络( ?/ N4 F/ J+ T; ]/ K. B4 l& i, x" ?
6 ~1 T1 C" v$ `0 a* _6 c
( 6)安装完成时,单击项目左边的"-"符号。) {8 _- C0 c; r3 O+ S4 m
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere $ y- P+ q% Y9 ]$ G
MQ"安装选项 (9)选择启动WebSphere
; A! t% M5 u" H, ]4 b7 q: G2 n; FMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
6 A! S2 b2 g3 R, ]1 x+ a' eMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere , E! ~! e/ q0 Q/ a( e! f2 d
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
: b; V$ i) N" Y3 CMQ"向导。 安装图示
p" O/ }' f: X1 O4 H) Z% |# \2 ?2 g$ i: S
& ]; e3 {5 {; @7 x
: N9 s' O3 ]* v' z' c. x; K, f" r8 }5 N* A: e7 M
. v3 a& q# j' W- h, b) q0 W7 l* F, S. d9 F% Q1 h9 o
! G! R( [; q, M* S; r6 p' f" R
/ d3 ]; x6 l; h
. F2 ]' v( ~4 c7 N; a/ j' \4 g1 m, i, L( @! l) ~( e5 y( L R
# D( ~' \% {$ K/ n4 R
; g7 H* b6 J' g3 d
" m; ~4 o- U1 S4 }! |! N
$ R. F0 Y1 _+ ^& P" ^ I+ a$ s- h+ V7 I) m9 M
& d: u O$ d) @
) G; W, ~' N5 l$ C/ q
) R1 G, ?6 g) Z
* J0 F" a. d$ `% j7 l( C& \$ T
: Z% d# b, r5 t% E 2 C' D# @, W' h2 z, K Q1 \
* k3 ~: k* A `+ o" C/ | E& t
: M; @. n+ [" D9 B. Y7 ?# ]
; T. D. e, Y7 c7 e
" J" N/ w7 O, f) l, I5 ?9 r; Z
* V) A8 p! _( c9 @) d! h
. K- o- [3 o& P: {* u7 i/ |% ]8 ~' e V' X, e9 J2 i# r& z
$ O1 m) {: J# }; G
. z) P$ K9 E4 `) ?2 F5 W3 V1 b+ \' {: @+ Q3 I
& z, X) h) y' W! T$ i8 W1 v$ @% t: j/ P3 v
: M9 T, d! H* g1 k r& h
/ j `/ J, f3 {4 H8 Z4 B$ s' n. ~* p" w X! _/ Z+ y
% z: C4 I" k# @$ q# J/ x应用分析, l# Z. o q* e) s$ w
f3 ^/ Y! L: C- i该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
$ N. V0 r1 W+ H9 m* k$ s- o' [) t- i且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。* h1 L) F2 S( d% r4 \
6 f- F& N( p* X9 o1 t
. Y1 Y6 i' Q7 F2 B服务端配置
L! F1 w. ` d e- S" C5 i- s2 y: v. H- n
1)点 "开始"->"所有程序"->"IBM ' m4 B p# r5 P9 ]! M5 ?6 i' F
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
4 x8 p* G/ Y. l/ `3 h资源管理器界面。如下图所示:
; j- ?5 x$ [# c
! z4 J% t0 q2 `( W 图9 0 [5 C4 W# a! w: x+ L
服务端配置 6 J& U% R+ o' R( T& D% [
( ~ n. Z1 [8 {. _# q; b5 _2)创建名为 "QM_JACK"的队列管理器 5 C3 D; q q, l q0 e
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
! D5 O- N) P H# h; A
. q, L6 B5 F8 C' ]; a/ K, H2 U 图10 创建名为"QM_JACK"的队列管理器
' [. e, _6 ^2 [4 U! `' q6 z " ?$ W/ T: k- i* U& m8 h6 l/ ?
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": 2 s6 K- e7 v3 \" Q
" L. Y; C# A' E& {7 K% V 图11 在队列管理中输入"QM_JACK"
. n) B' a7 b4 ~: M5 X
" R$ \9 W3 R+ r* T- p<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 5 y2 g6 C i' i: p) n
- w' c! d3 ~3 F- x& `$ w0 G
图12 & x5 Z, c. m: d/ s/ v0 h
设置队列日志 ' v' {/ O" y$ v8 Z5 P# l
2 n, h6 X1 q& l<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 2 e, i/ {7 R; ^ F! u& [, `( H
8 j8 N, u+ ]7 `( { 图13 创建服务器连接通道
0 F. G8 u3 a+ m- k4 q6 Z & ~( i4 E) P1 u' ^5 N/ A4 f
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 ) f I& W" X5 D5 `6 r1 |
7 o( y6 W: q6 ^2 c m% R' K2 P8 u图 14 " g8 o1 z3 m# r6 n! n% x% G+ u
设置队列管理器QM_JACK的侦听端口
0 N7 `: W/ ^! D' A3 `: `
, T( M" z# B+ e# _! S3 i! ]<6>系统进入等待界面:
" X3 {4 }; C- ]# I& Z7 w) h
' ~/ @0 h$ T+ M( L: P图 15 % P2 n4 |+ }4 R
系统等待界面 7 C5 G: Q. y( t+ T7 n$ R
% P) J. ?6 k' n. W0 g& v! v<7>队列管理器 QM_JACK创建成功 0 m4 ^% i) Z1 S, D
2 X9 N1 p, ^8 l9 g* S% P Y) P
图 16 7 ]2 T" m8 a" G% D0 D
系统队列管理器QM_JACK创建成功
6 g4 V2 Z6 P: i$ W
* { i4 i9 u7 r( }( t+ g- S' s* U3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): $ L& m6 K4 \$ ~+ R
% K. Z% Q' M" i1 d
图17 定义本地队列
9 P% b) f: P; c* ]3 J
: [* @, w; U [4 \& b- y# i& |3 C+ @$ o8 l; ~7 S7 N
; Z9 p2 T. P( b# \3 ?+ D( c 图18 定义本地队列 & G& q c) H- @# H4 ]
设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 8 ^3 K7 H8 Q" \$ X8 X+ N! f3 X
图 19 * B8 c- {; m- u& ]8 e
创建服务器连接通道 - s4 ]0 ?3 h! \/ A% D2 @
5 c6 ^' h ~5 a8 e! e6 w7 s/ r7 {8 A3 \, _
图20 创建服务器连接通道 + x% P. l7 x8 q, N; H- f
通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
) v6 }& e- M7 Z w. eLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
$ H' O: C- y; v" T2 y. Sxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
7 d- U$ h+ A" K; e6 N+ N/ Q/ h7 s 图21 ' C! J$ H# o7 M K5 j# C
创建系统用户 1 [% a: ~! Y" e$ D0 w4 ~
; e) x% J1 y0 V$ e. H<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
9 q* o# M- f( l6 K图22 创建系统用户
q) s3 I' J% D$ B7 v6 Y$ D+ x
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ
7 f* S- k; j& @Server后系统自动创建的)。具体操作如下:
- p% X& q2 M3 f3 ~, }* q4 c 图23
- _# h! V0 n2 p' E+ _. N设置系统用户所在组 4 f& S+ d- J6 [1 w
点击 "属性": u% H* g' P# b; q0 l$ b( I
图24 设置系统用户所在组
" {8 U X% ~/ A& a Y 点击 "添加": + ?& I6 g# M8 i. i6 R
图25
+ l5 H8 M, C8 o7 m% D7 ~设置系统用户所在组
6 j0 Q: k2 A* A6 P 输入对象名称: mqm,点击"确定": 8 J; U& q- U' D0 T, _8 r
图26 设置系统用户所在组 ! z9 D$ Y) [6 \; d1 o( w
root用户被添入 mqm组中: 5 F3 E, o: ?* m7 ?! x4 ?8 Z I; u
图27 设置系统用户所在组, V7 P" F9 ?# ~4 l
2 _# @& }. P4 [2 `$ N. N2 U点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
& L: c9 v S' `( e& ?" A |