首先介绍一下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从队列上接收数据 , H/ s8 s& i: Z; e4 {, [6 L
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
5 N/ m, e y( MWindows下 WebSphere MQ
4 _ G' s2 g9 o2 X7 D服务端的安装: ( 1)把WebSphere MQ
! w( X$ z) @6 f: k* u. m' f# RWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ 8 w# d# I; \- O2 k7 E7 o% p: G( E
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: 0 g; b( X8 n S- W* j
- WebSphere MQ CD
- 因特网
- 网络$ E1 |7 \6 C6 V4 b! _* W( @8 z
- e H; y7 d1 n# d4 l& e# l( 6)安装完成时,单击项目左边的"-"符号。2 c4 `: y, W- f$ p
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere " |& V7 R2 o6 S: r
MQ"安装选项 (9)选择启动WebSphere
% D P. o# O5 i8 W9 U, M P# VMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
: O3 A; w: D. V% kMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere , L! `6 K& U$ I) E
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
* q1 _6 d- `1 _/ LMQ"向导。 安装图示 ]5 U& g6 X5 k; l( i
# \( m3 m2 u2 G. T0 p

( Q$ ?9 }- r/ H8 e; v2 }3 f3 J+ V+ c. \8 W a

- n% Z, J2 j1 M3 u, \+ g6 Q; t+ x+ J% x. x, `4 N' U4 ~6 v
7 V, u# m' \! c5 b7 t6 j
2 v4 ]2 M; B- M8 \. f 1 `7 _ m/ d" Q( L' z
" J: E) B: r8 O9 s0 v2 T: d# I! x0 j3 R
" x' @ W3 o( l3 I* M
9 ? F" M3 \* O# V. w
, M. Y& \+ O1 f, W& o2 V5 }
' S7 n4 ^; q+ F) ]9 _ x
- A, x$ N6 j/ Z- l; m/ ]
4 y0 x# I: ^6 Q! X" p: y* R' G
: Z1 q0 V6 q) Y O" T- | 0 `9 u* \4 }. o- W
! L1 ?" x# y! N8 c, C( l* I1 T 4 ^8 j/ q# m9 I: \: I, ^2 R `! k
4 p9 `' w& l N5 C p - }7 d4 o4 v! R, v0 D
) a. D$ H; U6 J! A3 w1 F- z: F
9 w5 u& f$ ?9 y3 ^4 g0 A8 R: P. }4 Y" b2 p

# j. I: k0 n; g& H
7 H e6 I; s- X( P9 Q & K- g# O1 R0 e( F1 D, l+ }
: Q% h7 W. p/ t9 T1 I& _6 T9 N
: [2 H) B8 L8 X: `, y0 w% @% F$ Y6 k) L
9 F9 |' O# v) [6 {: t1 ?
3 J% ?8 p8 x1 A! S/ c; a
- E+ j5 t3 e4 R0 S% Z0 L
3 k# z1 j( _8 H( ~4 K : I. D9 c! @& K4 I8 a5 p
: F4 r. q4 D% v" c* w
应用分析7 N3 P0 \4 X" p% u( o! R0 N
+ S+ x- O5 U4 y" x# ]+ a* q该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, - r9 W( N. O- J& D
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。
; S& j% c& C* _8 s
3 R9 t* j8 H; k( M
0 m4 D; y; k' ?$ @- y$ _2 X服务端配置
3 C, H# q) b$ G5 `% \5 M, n. f l1 h, R
1)点 "开始"->"所有程序"->"IBM - h5 y5 d, [+ o- B( {% j! i. I) I* k# K, p
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
0 C* z) [8 y" Y$ g" {资源管理器界面。如下图所示: 7 A6 @7 h( ^ ]9 y
# M0 y0 v$ C Z- s. D
图9 , f6 D: X( Z8 T* |9 A$ w: U" \
服务端配置
8 J, j7 F% ?4 ]3 f/ b ' r$ l& r8 e0 @/ A0 \" { \) t
2)创建名为 "QM_JACK"的队列管理器 ; k- W S0 k! M& L+ d
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: % H: n! a" s% F* _' T% G/ F
1 B; \) c z; [5 N) U- X 图10 创建名为"QM_JACK"的队列管理器 ; T" p" [5 W& T; \4 w

1 k; K, R7 o% E<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
" x8 g) T4 w! e' L$ d* G
5 Y7 ~/ P/ ~: A/ M6 r0 u; q 图11 在队列管理中输入"QM_JACK" 4 N! U" K5 x( l5 O

' j/ |6 s8 u& N- c! L0 t<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": * @: F" L! S" r
- K ~9 o. _8 E1 _% a9 {+ L. d 图12
7 k, Y1 n" s; z: j设置队列日志 6 e; d5 g" V0 D+ D- E: F

: ]0 S: d; n& E2 o<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
2 s( ~! ?% E# j
# B# y# S! L% O: [3 G 图13 创建服务器连接通道
5 |2 J1 X6 p) B8 ]' Q! a9 Q $ C2 ^, h' r9 A% O" h) ]
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
$ g$ \6 Y; X3 d7 ~: X% @2 l, T
( w! m* E, X' C* {! s 图 14
" o; O, |+ l" x设置队列管理器QM_JACK的侦听端口 ! Y9 a+ H) E; x5 _

5 R }; a* B. k2 s. K' T<6>系统进入等待界面:
: V {- R( m. j
6 x- o5 e) k. {6 R% S' d0 \% z 图 15 : @# @$ o6 D( j5 V! @' r R
系统等待界面
6 G& ]+ d+ S4 V2 p: c; t- r : u+ V6 P% x4 m4 I
<7>队列管理器 QM_JACK创建成功
0 E8 p' G f8 t' A8 n! C m/ o6 c, H' R( O6 t8 R3 O
图 16
+ |( _8 a. x+ `! l) E系统队列管理器QM_JACK创建成功 0 I4 _2 x e9 G& k

# G" T, }& u8 I3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
. W7 I- v% U: J% t% h; y5 Q/ o) T+ E* \+ ^* z/ [
图17 定义本地队列 / t) S, b+ O! W6 h7 ~7 G
/ z2 j% z" {* [8 e
; n, _$ P) @9 N% o6 l: ?6 g( M2 g1 W3 p: e9 g& T. c3 q( {6 f
图18 定义本地队列 + G, M0 M) I" P2 w3 h8 o( |* \0 Q% k# Z
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 7 Y( x x* g& e- S O$ J
图 19
4 Z( Q/ |5 z( {* H$ z9 U创建服务器连接通道 % A4 }) \9 V9 h# @: D- G+ G( _) r2 R& R

3 p( x; U# _- K1 m! s* L/ D7 d2 x5 \8 D/ C$ k
图20 创建服务器连接通道
. M* q0 ]% ~" R% g' b 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse 7 u! X) V+ R, P1 s0 p3 @& a5 w7 w1 _
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows 4 k5 H; N X1 G( f
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
1 Q- |+ @# ^2 g" _- H 图21 3 y3 P$ v, x1 Q0 G5 [- o( Z; X
创建系统用户 5 k1 L4 n' }7 J( ~3 F% _

% C& T* s) p$ H- z7 ?" f<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
0 }5 ]9 S2 ?; ]$ [0 E# P3 E: c+ u) w/ } 图22 创建系统用户/ o4 d$ K t0 t M/ ?

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ # G! _, x! I: k1 y( a0 W8 r1 t
Server后系统自动创建的)。具体操作如下:
: v F/ x/ l9 I# u# D, n0 M 图23
* X9 a2 Y3 Y" `9 G2 @* b# E设置系统用户所在组
7 S( m Z4 l( V+ i- H. B 点击 "属性": 4 _0 ?# g6 `; M1 s q- w
图24 设置系统用户所在组
' `+ t+ ]- T/ [* q$ t 点击 "添加":
7 x! p1 U# B) g 图25 ! g7 p5 e4 ?: f/ z9 t" F. q& c9 F) [
设置系统用户所在组: z3 C4 z) S( e( J0 s3 }6 }

输入对象名称: mqm,点击"确定":
' `! o$ b. K0 f0 D$ a 图26 设置系统用户所在组
2 u% a' N" j7 z% t root用户被添入 mqm组中:
8 v. R! Y2 B7 H/ C4 B$ n2 u& _" h 图27 设置系统用户所在组# U# y9 k1 U P$ `# J) V! W

\2 V0 Q/ M' d2 g5 z `1 K点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 3 c M# F' V* b
|