首先介绍一下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从队列上接收数据 4 @" v7 D O7 K9 W. J0 S
安装步骤。(此处为转载文章,作者已经证实所有步骤。) ; c8 U: y. Y- i8 r) |
Windows下 WebSphere MQ 6 r# K3 e6 S% z' N4 h
服务端的安装: ( 1)把WebSphere MQ ( J; _" t, `. _8 R2 I
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
1 R q: C% `! q3 {9 y$ O安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: ; g9 x8 ^1 n& H$ s$ ` F( B* d
- WebSphere MQ CD
- 因特网
- 网络
; @; [& o3 X& Q, y) e; x, r) x % p0 h8 `# h) K5 |) p2 h
( 6)安装完成时,单击项目左边的"-"符号。$ R: J1 P5 B" p/ f/ f0 T- K
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
9 s) g/ j8 J; a9 ~MQ"安装选项 (9)选择启动WebSphere # Y6 l) j4 ]( \+ J
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere ; \+ @ ^3 `9 J; E0 [2 e
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere % V' v. ?0 A& \# o2 S% _4 E
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere " v! y$ y( }+ b" s
MQ"向导。 安装图示
+ p1 I* `$ n8 h* Y% D# ]
" |, h* j0 s H# A0 e/ H 8 h/ ]& _7 C2 W, w2 V! t9 y
' ~4 R& Z; q% v4 B4 u# s, P$ I 7 K) B8 H+ X+ P! F; @
0 F3 ?' {; j+ ^
. S4 ~, I4 G( c( S4 o1 U
! v6 E) _* |5 R9 `2 g

9 M& I" b; k/ W& d
8 |0 a; I, }& f- c/ V8 }5 T( q" Z8 L! k& Y* W( }
1 [) q) c! ?2 z% z! Q

" j# p# v( A+ E% e
# h; r# y- Y. J 9 a% R. T' x$ r& l) }1 r* n/ I
* `' b, s6 X! P' Q4 S e, K
- p. s+ W+ `: V5 [6 A7 }
% K, g% N7 B9 b; h; Y6 z7 R+ d. R% [
5 Q3 I2 x5 [; a+ w0 j/ l0 ?, `2 L
$ ]+ e% v) }' q7 w6 l) b ; v; r: M! Q8 h+ m, J: a3 h
; N7 u- c: y' @

+ [& {1 F/ O& D6 ~) p* r: L1 H9 k( d0 ~

1 p) w8 F- |* I) |8 L1 [' A( g
% V# B- F* V$ I6 J0 B7 w- [ 6 D7 [" g8 O! @6 }/ b
7 J4 R+ q7 }% k7 [, F! G / W/ \; H4 w1 S0 P4 G
9 e- J: `4 H$ ` . R) u$ d; S0 n+ r" _6 F" a
" C9 F4 k5 [ F9 V
: P6 C. Q8 T0 [. [4 N4 T
+ |/ ?4 p3 I/ Y6 p5 |# F" ?8 z

1 O4 |5 v% a0 L9 n4 G2 k l
j9 g- ?, v/ N. P + J7 A5 H: r6 ^' ^+ z5 L/ O3 E1 B6 J
! v: I) R' d( }5 e应用分析/ i: p9 f3 b2 X+ M; ^
! T4 v& v$ x, j& q+ l
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
8 C; p2 B* H9 r0 Z, L3 M3 p且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。# _+ [! D" x$ A/ a
( S( a7 a1 U0 y# r1 e
. T! T5 I) m( Y6 s- Y2 G服务端配置! y0 E) X7 X/ e+ a( k
* V$ o) r9 Y5 q/ C! D; Y6 F5 H1 C
1)点 "开始"->"所有程序"->"IBM ) Q& p& u, c# y0 K6 A4 P) L
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
3 l( ^5 c5 [0 b! Z6 f" s资源管理器界面。如下图所示: ( z" v G+ G' j- i& W7 T" Y' I3 u
+ K |; c' W$ e$ n9 b+ \6 O
图9
9 V( L. I- P( r/ _; S) B, d: M! X服务端配置
# `* v# V+ r% f
9 V( n# a0 q2 r% W8 q2)创建名为 "QM_JACK"的队列管理器
/ o6 |( S8 U' _ N<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
+ D/ |" P3 @# e5 x
0 F$ N1 L7 m& z& L" `& E/ ~ 图10 创建名为"QM_JACK"的队列管理器 7 C9 w& m+ B9 b! X' k

# d" ]2 b4 W, b6 r* z# x) I# e<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
) f1 L C1 ^6 B9 s' q
$ ~( V W) f2 N8 f; ?0 W 图11 在队列管理中输入"QM_JACK"
- Y; G: u' V- J0 B/ p7 h1 Q# z
3 M: g4 v: y! u& a; b<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 6 z5 u. k! Q8 a
0 F& k8 l0 N! w' X: w( d/ u$ O 图12
1 ?# p n+ a; D+ \$ u设置队列日志
+ K ]& d4 B# `/ X8 N 8 j; S1 M- R6 ~# E) W' [
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
: c# E. f3 l* C- t6 v+ S6 z) Q- _, D1 E7 r) M& Y
图13 创建服务器连接通道
& p) e" [$ T% X6 l1 J% ?
5 o7 {9 H* c- a, y2 T<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
, }3 R& C5 ~( n7 X( @9 B) p; m2 {7 R3 Q& N* b+ `* e8 p! T: o
图 14 - R$ H! G) m) S0 Z8 c
设置队列管理器QM_JACK的侦听端口 : x6 G( C* T5 V

/ t$ S' d" X! U! G9 C5 h6 a# v<6>系统进入等待界面: % c$ ?* k. l" f0 J, X" n
1 y" ~6 f8 F- L) }, u 图 15
# D# Y0 e) V& K) Z( B/ k系统等待界面
/ ?4 F( c d4 @8 g * c- ]( g: g/ {$ W
<7>队列管理器 QM_JACK创建成功 3 ?3 k$ A# i3 o! M% X5 X
, M0 X+ m/ R2 W7 I' P& X 图 16
" m% {, R# G# R X, [4 A7 w/ \系统队列管理器QM_JACK创建成功 ) M# i% {; u) t9 M; Q s9 S" E
 4 @$ [( Y4 b L6 E
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
& w% M9 X3 R# ~- l6 a. \# Q* X0 \, c+ x
图17 定义本地队列
; U* Z$ k+ `; D) A! `( h$ K: p9 B5 b* d

- ^, `2 E# \+ F& ?, Q
4 [" t( x3 i2 d! `' Q7 t8 W- H 图18 定义本地队列
- Q u# I8 h; r- p! v 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 - M% r6 V, M1 ^. E$ u" c
图 19
S/ B& X$ N O9 H% q! v创建服务器连接通道 a* ^1 k2 B0 R1 G& W+ K, L# O- g5 z! l

3 E" u6 c4 M4 ]
" P4 n( b6 B% ^5 Z. _4 S 图20 创建服务器连接通道 # H G! i9 }8 U. r5 ]# E" d+ {
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
1 ~) p9 r0 d: `. G5 \Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows 1 J' o2 Q2 R: h& H+ F* w; i$ w
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: ( z$ j& b& ]3 E: g
图21
9 ?* g( v5 R) O1 Q; o创建系统用户 1 l/ l" M. A7 H. A: F
 2 L* Z7 P% E" H7 I8 c
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
3 e/ t% Q( o- K( b2 Y8 J 图22 创建系统用户( N; o" y0 Q) W0 Z. Q

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ $ }+ l8 E) x( B* q, J
Server后系统自动创建的)。具体操作如下: 6 y. x0 ~+ |* N G0 ]
图23 , a( T& j. N/ h* C
设置系统用户所在组
2 m: m" a! z8 v4 ^9 F 点击 "属性": ' i, [- S- k, s$ }) [
图24 设置系统用户所在组
, p2 j. s' P4 T1 t% m* k5 Z) t' E& m3 f8 t 点击 "添加": * E+ y2 [* \3 F& D. R
图25
0 ^: d: P; P) a" {设置系统用户所在组# ]) q: ^ g, ^4 Z! Z; O
 输入对象名称: mqm,点击"确定":
' k; t. y) ]- @ 图26 设置系统用户所在组 + c2 Y) _/ A, G4 ^1 b i
 root用户被添入 mqm组中: 6 _9 X0 k' p: g7 e
图27 设置系统用户所在组
% J% l7 |) D: y' R& |" z ! U- b8 n p; f3 d. l
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
0 B+ o0 U+ z' n% Q1 J3 ?; K |