首先介绍一下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从队列上接收数据
7 @" B/ Z- z) N4 K安装步骤。(此处为转载文章,作者已经证实所有步骤。)
, w( y5 b v# p" K7 T8 l! n. yWindows下 WebSphere MQ 8 J; D! e9 E! T: c6 ^" g
服务端的安装: ( 1)把WebSphere MQ 3 a, d! @( m* P& F; a
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
4 m' q0 a3 {9 T3 d安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: : C ?5 q) P' U2 a
- WebSphere MQ CD
- 因特网
- 网络
: y: c! W' K1 A, V7 q' g9 Z B+ j3 Y" R: F/ j# _/ G/ D
( 6)安装完成时,单击项目左边的"-"符号。
( z2 B! P0 |2 C6 u* t% @( M% ~注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere : D" e+ m2 K6 h8 e3 F8 o
MQ"安装选项 (9)选择启动WebSphere 1 X5 K: M& n* H" k4 k0 x
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere & k' S n! ~& I0 U) @
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
4 B7 H) |2 ?- a7 ?! oMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere ) r+ I5 s O( K
MQ"向导。 安装图示
3 o9 T1 m; [$ u4 J
0 N' a% K7 A$ |& b5 ] 0 o% U j2 ^) [" H. G* M
/ n" r; q4 @* U$ v/ O1 V % q3 {4 X$ ^/ Z+ q; V
: [1 T9 ?, m8 p5 G! q
$ m; G( e8 M3 }; Z
* o: t" A) s+ k8 B8 u 0 u. V- ?+ f/ a+ v( C
. m* o' M' u6 ^7 w) ]; v$ C$ w ?! N. Y$ Y% _8 Y
7 Z2 A5 F& o7 K F7 R! u Q
3 g& h- K! R. S$ ]; d \! l. c
; z' D' \* _& ~" q4 h4 E+ N : o/ L! k0 S. u0 H% T! C$ ?
4 u' I( j4 m2 V. p
7 y" ]5 R) p2 y: U* {3 D5 }7 f" V3 ~9 m1 ]) s& `. U! T+ P* _
+ \* l0 K0 F2 p
7 O: W- H& ~( W& Q5 j: }8 k- J
8 E7 ~& v# @, d5 t6 G; R
/ e( u7 ]% \* t) O& n$ p

0 {- J# b8 S6 n- e' @8 D6 a* ^$ l) k& I. ?* Y
+ c3 k! H# B; x! Q0 ]. |0 n, p
9 p H8 Q! t; H' F4 s

2 v' D3 _! h ]. |7 {3 o- ]: p
: I) _7 e. R$ @! J: y( Z' T
1 [4 Q8 [ f& q1 c: _+ Q5 _$ D* P7 ^/ [, z% x* \; G% a/ t2 a7 }
6 l: R m: ^7 k5 A# i( o
# G7 z2 j3 ^- f% X
( A; S* H' e& K A7 S8 |5 q
! e2 O) [, ^, E; d/ t3 ` # l4 u5 c' F9 Z7 ?
X. A' V5 n3 W5 J6 M7 ^' T2 b
2 u7 k# x0 H) U6 F. S( Z! h' ~
A5 ~ Q7 M% w$ B0 v+ x" h( P应用分析
9 s" _' K2 {/ ] R7 m& m+ p5 }) n
* l( {; W' u) c5 e1 g8 s该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ( V3 r7 ?9 g" R0 s
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。2 Q; @4 t1 J( z( J$ e/ ]- X8 \+ e; |+ t5 A
: f5 _' b# E Y2 O# P 9 k; N0 _) ~- O" {+ j: ?4 {
服务端配置4 V9 u; K# R7 T5 E4 F/ F) y% i' U
5 E# J6 F; {: Q ]* D |, b3 y
1)点 "开始"->"所有程序"->"IBM % j# z u" W- U- x; d
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
4 t2 p, W. y7 c% P% Z7 k/ k/ I# j资源管理器界面。如下图所示: ) |3 @$ ~* v7 ?; N) k' v
, T6 K9 `" V' I3 q( H
图9
# x$ Y: N, D" s" T服务端配置
; g. p$ o! I- r( K$ [ Z+ K4 a' M% T
2)创建名为 "QM_JACK"的队列管理器
1 m2 j! q/ g7 o$ @" b# ^, L<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
4 R! {) z2 j. z5 Q* I
9 h+ L7 \ |# s1 T* G& z8 D$ V7 ] 图10 创建名为"QM_JACK"的队列管理器
2 N2 F4 ?0 L, |, @* A( `* O H9 K$ y: O0 y, Z; I6 S2 }% c8 o- Q! m
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": $ p' o/ v& B6 Q$ V( l5 G+ ^
4 `. I$ u6 ~3 X9 ]1 H+ D2 y/ N6 J6 w 图11 在队列管理中输入"QM_JACK"
9 \6 Y1 ~) n2 m% W+ d
1 _, g3 g& x; U$ j3 S<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": ( t, ~" S' M1 O9 F
6 P* m4 [; ^ m" \ 图12
" y/ L) }3 A$ {2 F* D设置队列日志 3 H z# x3 O5 }/ }5 w7 F6 l

, Q5 f7 f4 ]5 r7 M+ y* R \: R<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
: @# @( G& [& t* N& q
, h8 s" I1 F% G+ ~+ v* }# h 图13 创建服务器连接通道 4 P2 b# i% }2 W! J2 g* R
 / [! _4 u( `5 o$ e; R3 t+ o* l& J. K
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 ; P( Y# ^3 R7 Q+ v: U# _5 ]
( |* ~6 }- F, n& k* Q7 h 图 14 0 P' G, C; H- M% d
设置队列管理器QM_JACK的侦听端口 & j; g5 r# e4 Q8 y$ ~9 S8 c

3 z1 s4 {9 p5 A1 O- P: h- x# S( E<6>系统进入等待界面:
! {, W6 M3 _) k' `+ n0 {- d' k
( m" Q& e& \( C; T( G 图 15
6 m7 E& h% d0 K( p- F- t系统等待界面 ' ~7 R- l( }+ e+ ]+ [! W; s

/ F& y C. n+ [ C8 o<7>队列管理器 QM_JACK创建成功 2 ?2 T5 Y4 W8 d
X6 x) r* O/ d* J% I7 [4 Y2 J; G3 j 图 16 6 F- ~% o6 \3 h' f
系统队列管理器QM_JACK创建成功 . @# ^' S4 W" q- ^! h

! R4 Q9 y: Y$ u# S6 X9 A3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): 4 Q: L) ^6 b8 N# }1 d1 K5 n
) v( L; J4 ^0 E( C" z: t: o0 ]
图17 定义本地队列 $ j+ j- H, S% \" o3 C
2 N4 Z5 n- ] F6 O% l : X( x& e7 R' F! c/ k( Y
% }$ H( b' A- }/ _5 Q
图18 定义本地队列 " s# `1 c, w, ]
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
' P7 X6 R1 }! ]+ r- {" ~6 Z 图 19 ( h& j$ u- J% y4 i
创建服务器连接通道 * Q2 P* R1 v; u! e( N

+ T% K8 [- C+ i y6 g: g- O* b+ C: B" n. q8 E
图20 创建服务器连接通道 R* Y; h3 ?$ o Q4 o ~ ]
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
2 ^0 m+ V$ m$ MLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
9 b5 g2 P- Y2 I5 n4 j2 {/ zxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: ( X1 @6 G3 s* v
图21 1 k5 h$ l& p- V! P
创建系统用户 . J' n: o( o: [1 [& e1 h5 I

0 w1 k: U. D* O9 {' Y5 r) d<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
; F* {! `$ R* r0 _ 图22 创建系统用户
% H; G" ^, h) G) c' X1 i
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ ' d( S1 R1 c0 o; u
Server后系统自动创建的)。具体操作如下:
8 C6 E7 S% L2 y6 ?) C7 l$ y! Z 图23
) S2 j6 ` z: v+ p1 d! n" N设置系统用户所在组 # F4 Y* o0 z$ [$ H* F; F
点击 "属性":
8 P+ J+ V) }& j6 x0 g+ X 图24 设置系统用户所在组 3 o; ~, T4 q* n: u
 点击 "添加": 3 q9 P% ?& K& _8 H! H# f. k
图25
2 T4 w( x0 ^# z9 ?. e4 V% X* j设置系统用户所在组. Y# r2 B7 e5 J7 i) X7 U% f2 r
 输入对象名称: mqm,点击"确定":
7 C( Y$ V1 p1 X! l, i! P3 { 图26 设置系统用户所在组
! r( B: W3 L. E root用户被添入 mqm组中: + R) z. x$ ]: a% g$ k2 N7 k8 s
图27 设置系统用户所在组% y2 u/ m$ {* C, {! U1 f8 y
 & a" Z$ g7 k& }
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 . }0 p5 C" q0 X# @/ a5 ^
|