首先介绍一下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从队列上接收数据
) E0 L4 _; f7 i; P* ]1 O安装步骤。(此处为转载文章,作者已经证实所有步骤。)
& e6 _# Q5 e, VWindows下 WebSphere MQ
8 T; h+ P& I8 P# e服务端的安装: ( 1)把WebSphere MQ : l" F) z2 b2 X0 t0 i
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
/ `! i" ]+ F( k! R1 M9 K9 @9 ~7 |% ^安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: 4 y* }- |. m7 b
- WebSphere MQ CD
- 因特网
- 网络# W" }* j6 f; B1 K
" r3 D8 B1 |1 G7 ^6 p- L4 [( 6)安装完成时,单击项目左边的"-"符号。
7 V6 T# Y' j, M) h6 }! P注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere & r- ?$ Z4 @6 ?; }) H" z
MQ"安装选项 (9)选择启动WebSphere
% R3 R, P; x. jMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
' _! G6 O9 L IMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
9 u# G, q' x9 C/ xMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
( b8 X( W5 Q* `MQ"向导。 安装图示
6 u; U' T- w/ |9 `7 N% h
0 ~9 @2 |# n! b5 {/ P
& k7 P7 ?2 n8 z3 m) ~: t; l! @1 ^& p2 A( N* P, d- ?
. M( Y7 T, N+ }3 E @+ I3 f$ @) b5 T% L
8 a" f% H0 O: z5 d- ?% R% F+ A8 W# }
# J5 K, G1 a, a9 x$ y- g+ W
; p* d7 m; O5 p
4 W' G8 q" [- v0 ]0 s7 C" x( S- p
( g+ K1 s2 }( t0 I" b0 [
' ~- N4 w' ], g; r3 R& a5 N* }5 ^# I! b8 z2 ?
# C. _+ M. C; k8 q; V9 J+ f1 z' L. r, ^1 J& D a0 H
9 V6 w; f1 R+ D5 V0 F' j n& H) }& e# G
n$ y* i$ o: o4 E
2 O5 O: A! g) {% n }5 X8 P
7 I7 W$ H8 J" n- r, _2 H& m
& {: s R h" f1 l; T6 H 1 g+ y& z5 n* E4 [! I
: e1 F# K" ~: ^% ?* a' k. n' o5 P# s- o6 k0 G, ^; j, j, \* q
* a& o! Y0 K+ ?( }4 l/ h
6 @& q) d7 g& X# X, ?$ p2 Y; M2 `% e) k5 C! Q4 i5 @
. }9 B9 Q. ^% k2 I$ P3 o' O
6 I, [% [. g$ w0 k0 w
# y( {7 r' i# L* J7 m0 C
0 o @& b6 s g3 O4 n, k; h$ z3 |
8 v! y3 d5 e* \+ s \" U
* K3 E! r( k- f; o; F) H
4 K5 k! v* J" j N1 D
/ j1 T. c" S: v8 q# c: y' v$ W- [" i' {- [. k2 x4 T! t
: G9 c: K4 _8 z* H
6 E3 k1 A5 ?8 X+ l" L' z. o
! r7 S( T3 A- s4 [' Z应用分析
( C* I* u0 g+ l2 Z W. W2 [6 R* D! J7 q0 F: {$ Y5 A
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, # S* u# C+ b5 U6 P4 Q, K* i
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。5 ~; H0 H6 C0 e+ K: i
) S9 j- L7 _/ M( a + }) Z. C9 G* x# J4 u
服务端配置& ~& \9 T9 `% I3 N: S" C
# G7 @' f5 F& ]7 N8 y
1)点 "开始"->"所有程序"->"IBM
5 w2 X8 w6 t* F8 f, z4 SWebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ - f/ U2 x. ^5 }2 _3 Q1 G
资源管理器界面。如下图所示:
) v8 P' V3 k/ g6 ^0 k/ m. G! x; n5 g. Z' F5 r5 `/ H$ s
图9
% l0 t, M* F6 _( S, Y服务端配置 ( s) g+ n( O* d6 C f
0 T K# Z9 G+ D0 ]2)创建名为 "QM_JACK"的队列管理器
6 n t B4 }9 r5 m2 M8 H<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: 1 b- F; t: Q% r8 j" L1 C" Z( h6 f
- }$ x: G7 q( S* e 图10 创建名为"QM_JACK"的队列管理器 : g( q3 T% Z' J& y3 u7 e r4 g
0 d j6 g0 X& Q9 d/ V
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": 4 D+ Y. E; O l0 C1 p; d
( }+ i9 A K' K3 p 图11 在队列管理中输入"QM_JACK"
3 G) ]' r% w1 T. J
* |% L$ ~: M! s; v- S& [8 n2 J<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
+ }/ }* R6 ]* o* y, S* T& T' r7 a+ C% h$ n
图12
' K0 O: Q7 X/ ~设置队列日志
$ A8 n- X2 I$ V' G# |) A. |
$ }+ m4 z' R. c) [+ p<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 1 D$ R# @& w7 a( o
& Q- @' L. o& G; Y" c6 I 图13 创建服务器连接通道 3 U4 f' ?+ t* W2 ?8 l5 ?
- O, W b3 [1 [8 M# r7 N' C- x8 P<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
4 _/ _- L$ E+ T8 Z/ Z' B' m8 j/ \
图 14
0 Q7 v; D2 v6 C8 G0 y+ u' `+ y8 j& n设置队列管理器QM_JACK的侦听端口
2 l! m2 q; B V, u $ V7 e% K1 g+ I4 f
<6>系统进入等待界面: + @) N$ ^! t; M( ~. O3 N7 F
x( O4 s( O' m$ j1 Q9 U图 15
! j7 d( }2 j, Y) x5 k: v- ~( W: j系统等待界面
" T/ i8 y$ C5 E' x- m6 @
- c7 `# m- d( W$ [$ r. p<7>队列管理器 QM_JACK创建成功
) D) H: [& r; ?# B6 c8 c) m( X# W" O3 {8 H% q
图 16
, B7 t& Y1 H Q A W6 {, g. W系统队列管理器QM_JACK创建成功 * d* r4 Q4 v3 O7 Z* @& I
8 n4 I, N+ @& N
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
# C; ?3 {% G J; H; @+ U9 g
% @6 y/ D$ F/ ~8 }( F 图17 定义本地队列 2 x: t# N0 m7 H( j; {) G
3 Q, S9 R3 j: o6 v6 I& q6 G2 O9 |. `: {0 _# q* I$ B
" o& Q& U% e e' K% B 图18 定义本地队列 ( E. S% s1 D$ j' s5 | @$ V
设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
Q7 H; `9 J" ?1 }% e4 c- ?! A图 19
6 Z, W9 O. J' s创建服务器连接通道 7 N) f" B+ {# \+ h4 P; k
. U" }3 r/ y8 Z1 J; x0 }' n: j
: S, n- v- Q8 ? 图20 创建服务器连接通道 , v1 v% Y, b2 f# N$ ?6 }1 F0 o
通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
( ?% @9 ~ r3 G2 g- fLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows 3 M+ y7 g/ f4 K0 E8 J' r. S. {
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: ; @' H: c9 u/ ^0 j/ t$ l
图21 : ?8 Z l9 R. @( F2 d4 d2 t& B N
创建系统用户 2 P; ^& q, O0 c; e Z0 w/ E; u5 @
& ]: P+ z/ m2 |<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) 7 c- Z( V0 p0 N( R3 \! p! S {" E* N" U2 @
图22 创建系统用户' ]9 T. n* X3 A/ p- e7 C& x
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ 2 ^: E% V5 g' r* ?$ j! U6 @
Server后系统自动创建的)。具体操作如下:
" h* q7 X# [2 s& V2 m1 k4 S9 j% Q* F 图23 5 c/ T- A9 u8 U, M$ G
设置系统用户所在组 8 L$ c; N4 X) ^! Z- e2 U
点击 "属性": ! z% c, X- g# C3 M$ X
图24 设置系统用户所在组 0 j) X/ R$ H7 h Y
点击 "添加":
" U. W, }. }0 P* `图25
/ W0 n2 L2 x- v. E& l1 b- g设置系统用户所在组0 v' B4 k+ X1 B4 x1 `+ K, W
输入对象名称: mqm,点击"确定":
, x" S3 Y5 I( Y# x- [7 m9 d 图26 设置系统用户所在组 + p# n5 i! J: c+ C
root用户被添入 mqm组中: 0 s7 A I/ G0 j
图27 设置系统用户所在组0 w& n, e q4 y; d
; F' n5 o) W' I) O1 q0 |, Q
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 7 S1 J3 y$ G1 T4 U. `
|