首先介绍一下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从队列上接收数据
, V5 d) A- j: z7 c0 u# I1 }' w安装步骤。(此处为转载文章,作者已经证实所有步骤。)
0 L8 x, {7 m$ |6 LWindows下 WebSphere MQ
6 A7 D0 x: d" K服务端的安装: ( 1)把WebSphere MQ / x7 b7 u+ T" ?' i# U4 U0 T
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ ! O& p8 D) i# U/ p8 V
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: * c$ ?% ~3 F6 b. b
- WebSphere MQ CD
- 因特网
- 网络
1 b& h1 u' c# r2 R( P7 @1 H" S" F
1 T9 W/ }* G ]( 6)安装完成时,单击项目左边的"-"符号。
. ?* `9 q3 w: o3 A注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
: w; ]5 q. w* |" H; O: I( u: }MQ"安装选项 (9)选择启动WebSphere
y2 w+ ]" o5 {MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 7 L! J6 ~* A9 B4 J1 C. a" B h
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
$ {. A/ R0 J$ a) EMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere # V" u6 v9 `: g4 z
MQ"向导。 安装图示) j( u: y& }6 X4 y+ L
9 o% B5 F, J& z0 P% k0 Q/ L& _
) V" l2 t, x P) k) n+ Z
9 {4 _# _+ e) u6 w* x& y " ]7 @& ^: j/ { Y& i
3 w& p# [ L! V' _- s @

' g b: Y( J# D* J5 I9 t- y6 {+ [! i4 N/ ?5 G+ U8 I$ L

# V5 u t( a' r1 x+ f' y# a3 [7 L
, F3 t) b( h3 O! x) [: _) N/ C
1 G! ]3 Z, H5 [! B

. {. K3 \3 B) L" z T
/ i' M- q& r/ V$ E- _# ]/ p
& ^- P8 @* _$ c" y) j& V, w: r: t8 ]: u/ r
. ?. a; ^) v3 N* Z. i) Z6 }
6 r- T. ^ ]8 m4 [
* h% ?" ^$ b& w. x
6 O8 I7 B. c- [$ V/ x / n; o" a) O0 ]/ g$ L" w
9 T" b3 d i/ |! f, y8 Z% {

" v" |) `, {, V! X& `
9 r: m) H3 i! D, h* z' [" h( \ 3 R2 B! [# ~9 q, | ~$ k- F. Z
' H* c9 ]8 ?- s$ B 0 B9 R: a, W: p# P$ u4 [- J4 Z
* j0 ^, e6 Z( g/ W

7 g( s+ ~; ^; T* B! X6 S, F2 ~
2 t/ M& O, ], n2 O# F4 A ; b) b' }" q; o2 F
' ]0 b& j, ^3 e) ]$ g
3 i6 V7 u/ h4 r1 T9 _9 O1 ~& p. d. V1 c5 D
, G" _+ U. t8 G
# C g; [: _/ [
' P z- X+ O& c
+ p, F. m& V* F5 i2 P应用分析
3 g/ N3 N- x# z2 _4 H2 Z0 x
9 S) V+ X. P4 }+ E7 g0 s该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
/ Y4 E9 N% ]9 N/ V8 A# K( F& J1 e" S且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。4 a- p9 B( O7 o. v, n% T4 ?
$ s) i2 E; E) e0 z, W" c
, n0 `" u; z3 X; ^* Z, H服务端配置
* ]: I# Q2 u y
' b5 t+ \ P$ k1)点 "开始"->"所有程序"->"IBM ! T' P. c: R- C. H5 `4 _
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ . F# M* Y0 O0 S4 i
资源管理器界面。如下图所示: 0 n0 {! i3 ?- O( v* z8 a
+ @% v1 C/ g, }, y; Z 图9 % h# q% B9 j! p6 A, E
服务端配置 8 \2 d/ N$ T }4 a; P
 3 i: C( S3 j/ T9 |* u
2)创建名为 "QM_JACK"的队列管理器 3 _$ [7 J! M6 s. n3 S
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
" _9 W9 \% i }2 |3 X* h( X! u4 d9 ^2 `; M
图10 创建名为"QM_JACK"的队列管理器
t5 A& c0 f# W" D- z0 F
; w1 ~* |9 a- o" K2 z2 E<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
* F, @9 g+ f. g+ n
% c# d/ j8 i+ n. B8 d( s7 f 图11 在队列管理中输入"QM_JACK" % e0 E# H, I" U& _. ^. u

* `$ O! S) E9 \& y! q% |4 D1 {<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": ; h* ]+ \6 {$ Q& c P5 z* @# D
& H' ^3 [5 I* f0 Q% U& l 图12 / V Y9 V- I+ |7 C
设置队列日志
# {( k, f) v+ c: `
# ^) D* |! n9 N& R<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 3 B8 i# C( I; V: G9 G" D# t
s+ W! s5 [) U/ t9 j9 n
图13 创建服务器连接通道
9 P3 Q! v/ f0 ~" b3 C* H' R" ? " K! y* d- _: F; ^) P* o" @
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
2 O! T( L( ]! t" s
1 P0 q6 P6 B/ y2 x/ ~& C% J1 m 图 14 ( t; U. h8 Z- G
设置队列管理器QM_JACK的侦听端口
$ F8 ^. {- A4 f! P& ^$ ] ( o3 x8 U6 o6 l$ |, R
<6>系统进入等待界面:
. _, `, i, s; u, v' n. |. J1 r% O2 g. b# U' \4 K
图 15
$ ]# l( [/ T6 V. V' k* O- T' h系统等待界面
2 O' Y, d, x, t( A' ^- x4 f# y3 A3 j 3 P5 S; [% N# J0 t: t+ m* _% `
<7>队列管理器 QM_JACK创建成功
( t3 [0 R1 g/ [7 A5 v# M. Z) H7 m! L$ W
图 16 * y0 F( t p$ M$ [* F6 H
系统队列管理器QM_JACK创建成功 2 U) D: l+ V6 E
 9 t& |! m- X& B) k8 ~5 B- b3 @ f
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
/ P- I! |9 N/ _+ C
6 I2 p( c) r$ u0 n5 Z/ A* }4 g 图17 定义本地队列 & t- l/ y5 q+ d/ u( p
l- F- Q# r4 N5 _5 H# b7 e! M- b
& R" k# D. j* F$ B% X
& `1 }/ d' H3 a( M& @$ r9 o
图18 定义本地队列 8 S* x7 ~. k% }$ s y1 t7 f
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 . b( C; e/ y$ G2 ^2 p, Z: [' _
图 19 - J; _2 @; q9 x: X5 F" c3 y
创建服务器连接通道
5 I; e9 m6 ^' Q" A0 f' L; g 5 {1 g" E$ `. S q0 Z
- s% Z/ b) @- Z. U3 _
图20 创建服务器连接通道 , X: a" o6 g1 T$ S
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse . H# E& U9 z, h x; l% w3 p2 G
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows W: ~4 G5 h: M G! s0 y& M( g
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: % b% q# B4 l z
图21
4 T5 d: k4 C5 X: ~1 U7 Y6 \! z( D9 f* M创建系统用户
9 l8 p# N& w0 @9 Q: m5 H$ S, h) Q
& U5 n" ?% B- \2 Y<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) # _; ^1 X. k4 ?/ f. z+ B
图22 创建系统用户. J8 N# n( K! W* k! O
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ & p% u" d. k$ F" v/ s
Server后系统自动创建的)。具体操作如下:
( ]* H: a) C% L" W$ r: A 图23 " d% R7 q) K2 \& m N' U! U
设置系统用户所在组 , b6 }9 d+ m) N' i8 Z1 H
点击 "属性": & W! h, R/ T0 }- R: o
图24 设置系统用户所在组
! b' ~9 Y" r! O 点击 "添加":
: c8 |4 m/ Y- M: x# R 图25 + O0 n4 x: t# j7 O* |" {% K" U
设置系统用户所在组) {, K8 }# i S' Q( j. F5 S1 p/ g; N

输入对象名称: mqm,点击"确定":
0 O4 q1 O5 W6 y: o9 Z9 }2 v L 图26 设置系统用户所在组
0 o$ w* W" M3 W/ J8 t% E- K; P/ @# V root用户被添入 mqm组中:
3 k' B# o) s, S/ { u7 N( T9 s# v' { 图27 设置系统用户所在组" K. _/ _. e. i# L# B5 I8 M& X+ W
 , P% l3 n1 g8 d3 N1 K
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
% L$ A( F2 O: X0 G7 Z |