首先介绍一下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从队列上接收数据 * a( R3 x# d) X9 `1 S8 g# k
安装步骤。(此处为转载文章,作者已经证实所有步骤。) $ F6 B) v" P, r- ?
Windows下 WebSphere MQ ( f" ~' m% K* e; e! k3 F5 W
服务端的安装: ( 1)把WebSphere MQ 3 ?. G5 O/ w2 R# S
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
' M1 o Q% Z& B, g$ r1 @安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择:
4 W* P% y7 W7 ? M. ] e, z" N - WebSphere MQ CD
- 因特网
- 网络/ U/ O M: ?6 d3 t4 Z5 o
, N( q9 N' ?' J7 [0 D T7 Z
( 6)安装完成时,单击项目左边的"-"符号。+ {9 P- W1 V/ l" h
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
1 U4 a4 F2 x, O1 cMQ"安装选项 (9)选择启动WebSphere
: R* n+ ~3 M' X# H- qMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere N2 a# K/ X$ L W7 ~' G; B) R
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
) C1 G, q) d' V" eMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere 9 M# Z, }3 P! P! G! {
MQ"向导。 安装图示
P6 I, b0 u* ^! \7 z
/ T) g% ^; c; O% C & i) U. `6 p! x5 O4 h, B
1 m! ]2 d O; U4 v
2 u6 v& o: I% `( N" r
9 C, z& _4 Z! D7 ^( c
! g% c$ @2 U+ T J0 @3 N$ c! X4 D) `1 l

r2 }2 \) i- ~2 h& A0 n. [" p: i0 W% U
- Z R! C& {; S, a. n
: \- y/ _0 Q6 q
( w2 n k! r, _" _# P$ I- r
& k; q4 _, U4 p3 N( j% L, e0 }
( z! O+ h- G/ t
$ K1 x" J' u- e" q, N$ l+ \
0 g0 d- ]8 _, X- X, c' r! l$ S) i+ _/ q+ g' a; c
6 R' q, c2 I9 L0 Z; V( U
$ v- h/ T0 d3 M& L' p" I! V
' q2 \% b. A5 c5 z
! f; n: i* e9 r
+ a. @; r6 u) o/ {/ V
# x2 `: {4 C( F E$ i# i$ `* k
) A1 b% f3 M+ ~; Y- Z
2 o/ V+ I- n3 P7 D6 n& t8 A

4 L0 K* x6 w3 @+ @
3 X k! |' S# x0 y/ ^
. L5 Z9 w% ?4 b7 x& l% x
& P' o/ Q; _4 K4 w1 u1 r & A$ g5 b' A4 i- | P
. E. u; ], g1 ~) i) x+ _( {

% k. ^; R* e! L3 i, k ]& r* `
9 A( X3 B! ^! X0 v( r2 F . B6 I! |$ R. W6 a# z- z8 _' H Z, b
, k6 s ^- G; a) d7 I% {4 F/ N3 x; c; { 9 p) ~1 i# @& \0 i. @# r' X
, t+ R- l2 H5 Y$ ?& p. A% s* R应用分析& B7 T2 D8 d2 E( T7 K; Z+ ~
( ^$ S% r' p6 `6 ]* P该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, 7 |8 d4 ?* Q+ j' ^+ V9 y9 T
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。# O% I$ O' y$ J8 J! Z/ B
9 b9 W3 {& I- X5 s5 z/ ^3 E& q p8 z, D $ f% x4 E6 n3 l" h- a
服务端配置
$ p3 s: K2 b7 d9 m9 \$ k) d' |- t- r: ^0 }6 B- k8 a
1)点 "开始"->"所有程序"->"IBM - H7 G3 X7 r4 V \) O- X
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ - z6 G5 R' c b0 o- e; j
资源管理器界面。如下图所示:
& O% Y7 H3 _/ ]0 B1 I" ]( |; ^+ n) A7 C T0 Y h
图9
! Y3 t: V3 ~" f2 g, o0 ~, a服务端配置
% |4 o( {( T7 \" S; M * O3 k9 K0 C9 P- u2 j |/ X
2)创建名为 "QM_JACK"的队列管理器 8 ]% ]6 N4 K% E" I/ b) _) U
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
+ B6 F8 n6 n6 w j4 R4 x6 p
* R; j8 x) |' ?4 W9 W 图10 创建名为"QM_JACK"的队列管理器 , t5 x$ k7 _ S7 r9 m8 g6 q

0 q1 m% ?: @0 u<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
5 L2 X1 N1 J. m1 [. X% O/ V# K- J8 `$ e- p
图11 在队列管理中输入"QM_JACK"
2 {* k7 |2 a. ^7 t& n
: B0 \% ?3 s# H, W6 p2 o<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
/ {+ F; p/ M: R% ?* B, Q
3 a7 c4 _- w' C* |: D$ _ 图12 ! q9 \6 G, S/ j
设置队列日志
5 H% U) g$ g6 x' N( L' K6 z! ^ $ m Z& k* u' W0 A, d
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
4 ^) k+ i* \# E/ r5 P
. G- Y) Z0 H8 P! T9 s# e1 p 图13 创建服务器连接通道
4 b8 H5 w2 \8 v# Q9 }" s# I$ C
8 w- z9 F4 U9 k0 y<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
, @' B9 b, ]9 _9 m: B4 `+ h& X$ c, ^/ L- X) w
图 14 3 N+ n& r; g. q
设置队列管理器QM_JACK的侦听端口 T$ O- r* {. H5 z! R; b1 n4 \
 6 v! j& z& k7 |6 Q7 }6 J3 k
<6>系统进入等待界面: 1 Z$ x X `7 _' G
4 G! }/ ]/ J/ E1 B$ o 图 15
8 ]+ [8 k" q3 x* M系统等待界面
4 N" h4 R1 j B( n
; J8 K* ?8 M) {1 Y' [<7>队列管理器 QM_JACK创建成功 ; m6 I' H% U( V$ F+ `' w3 d, x3 w
$ ]0 e8 o9 n/ d7 m! h/ n 图 16
, T$ ^3 G) B; G1 X% w- f! D- S' o) ? L系统队列管理器QM_JACK创建成功 Y( G( O8 B( }

6 f ]# z& y: E9 V3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): : L0 |6 v( M/ j
. G1 z& ^" `: |/ ~0 ^ 图17 定义本地队列 - x* ]+ z6 o( Y6 W( r7 M
8 D. {5 `" P/ J) L" m) M0 k

- Y K, n1 t( A }3 ]% T6 `
$ x! ~/ A9 F& p 图18 定义本地队列 , y' \- {$ X* h) m( l' Y5 @# k; \
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 * [& p! Y6 F9 x& o0 p9 L* }
图 19
$ p& U) j; C9 _* u创建服务器连接通道
C" N1 Z& V! `0 X7 ?0 c) L4 n
7 c s' d& U6 @4 O' g+ I( D6 k/ Q, d# N' U
图20 创建服务器连接通道 9 [( _% _9 p& ~
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
y4 y R6 H* h# k, ^! U6 Y- KLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
9 q) j0 H& T; y4 k6 _+ |) t6 Nxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: 4 E! @2 R: g6 |+ \2 l
图21
8 J% [2 q. Z7 u* W% W1 { B创建系统用户 5 u5 O* V+ v" O1 s: n) f v

' v. Q, E" T" W& A0 f<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
5 b {5 b% d4 h' x 图22 创建系统用户7 \$ x2 Z9 a- @0 A) |( T

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ 7 H9 S0 q6 u5 y2 l3 l. k1 F# v1 T
Server后系统自动创建的)。具体操作如下: $ O( @+ \/ d3 V* W% [
图23 ) @" [! y. I, K3 D9 m* f, R
设置系统用户所在组
; p+ \7 t2 V4 T0 s% L' j9 m5 x 点击 "属性":
5 N# b* U+ I7 {) |* I 图24 设置系统用户所在组 2 R R& |( E* c8 D
 点击 "添加": $ p# O+ x) o8 g* t) O6 B
图25
( C/ l4 z; F, X) P. Z) Q: i设置系统用户所在组
3 z! Z8 i* A* s# u- J% Q 输入对象名称: mqm,点击"确定": ; T$ A$ \5 _1 m* V4 s
图26 设置系统用户所在组 / M& D% }- c% {; d' R( z" N& y: W
 root用户被添入 mqm组中:
1 q( P0 `% E8 m. {+ Y6 H: c 图27 设置系统用户所在组! k( z$ [5 w- p+ e
 0 P5 w- f- E# F$ @+ H5 O
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
) S3 f9 Y5 O0 P/ ? |