首先介绍一下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从队列上接收数据 - \. z+ V( D# t0 E1 N6 ?4 s6 m6 x
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
- T6 T- R$ l3 I) | u6 MWindows下 WebSphere MQ
2 }$ r; f" B \% r O服务端的安装: ( 1)把WebSphere MQ ; K8 { N5 N# o, h2 d0 P
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
% d& H& \# _. d) U安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: 9 s6 t7 l, r n# ?' M) k* w. D
- WebSphere MQ CD
- 因特网
- 网络7 `! ~! h. p7 c+ }6 _- I2 G! {
|+ a# O. A1 \( g$ Q' [9 _! X
( 6)安装完成时,单击项目左边的"-"符号。7 V" B0 _7 I/ F. G: }
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere * H0 T8 `" b1 o6 [
MQ"安装选项 (9)选择启动WebSphere
s0 v0 E+ w$ n8 l" DMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
! f+ c T# e, N& oMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere ; |- `2 b( H" H, f$ m0 h+ b* S
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
1 A9 Z/ z9 V# v, ?+ ?( X# l" kMQ"向导。 安装图示 k6 u! l! a' w0 {/ |) D7 q
+ h/ Q9 v5 v. `% E6 S V2 ^
, g* I# ~6 Z2 `
4 }: } o- N2 d- ]% O3 E; ~
2 f3 d+ g, I: L) q6 t% N; |- B( w j, Q$ c
- h+ m) O9 ^% d7 ~
p( T, \# W' Z" l1 [" F) ?
8 D$ K/ M" q# ~; Y/ G- k7 P3 I
3 d( ?$ H. `8 W2 g) @" Q
4 Y0 a/ ?( m* N8 I; `
) d9 i0 W4 H9 a! i& C% Q
# H# t- V, Q, l) Q9 n; W
0 r, n$ P" v- A0 K* |1 M6 }
1 j0 R7 h4 D) x. ]2 s& D/ P
/ }6 ?& e- m9 e5 r2 a

. T7 ?' U3 S, E& [+ H( D* m- ~; z7 g# w$ f2 ^
) O# O7 _3 I$ J8 K
; a' b$ l$ y2 z2 a* n% z
# L( ?; o4 o: G' M' V$ D+ P6 ?4 j
, Q7 n, T' d2 y& ?
- Z( a4 O+ w4 S" H* R' y; j2 g& g* v9 B, w- L

. {# I: b# Z, Q! K6 h% x( l$ P
. R, z" \' }3 p% ^- ` S + R- A+ N! w- X5 D( l
: L% O) j$ {7 q0 d0 c8 @
$ g$ g4 I0 |+ L# S1 O! c; s
" t* p; X7 {! _

$ g5 o: [5 Z* t) t7 e8 A3 ]1 i0 `- ~2 @8 ]& j* r v

- b' I$ z) E: U7 O2 U4 @% i$ T2 t4 V' q" x; E% `. {( P; b) A5 ?/ s
+ m/ P6 u2 s% F0 H1 A) R L) V) J1 Y5 a
, s6 M. h6 F4 v : M2 c" _ s8 y7 l6 d8 N5 D# i
; U6 M4 ^& T0 _应用分析
6 b( i. P# c7 C C5 h- o- \/ q! R0 S7 B$ M
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
/ U+ K+ g( o5 }% C2 R2 ^且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。! R, p' g3 U. u/ t- T
! |% g' W* ^+ q, v0 X8 I: M$ j, n7 V5 J0 H
) M3 Q ?( D8 B* x% @ s) E: d
服务端配置; X( I+ e# o7 l
1 D4 C0 d0 F: D( h' ]1 G1 _ }( i1)点 "开始"->"所有程序"->"IBM 5 e- A/ r, j, o3 d* _. Q7 H
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ 1 d! f, s5 ]& t2 Y4 y
资源管理器界面。如下图所示:
: D9 c2 t+ K0 F
1 ?6 D. a- g4 M 图9 " ~% o% B' T: m( M4 v6 K. F
服务端配置 - d8 y7 h0 Y, O. T4 Z

* |8 Y2 U! ?+ {' U4 p2)创建名为 "QM_JACK"的队列管理器
1 n! F9 ?. P m) J0 g( |<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: " d7 ?: ^$ m5 G/ ?
, s7 h3 j# x7 M$ |& |7 b0 [ U
图10 创建名为"QM_JACK"的队列管理器 0 c! N) q# [/ O' Y& g+ z5 `7 n

! c5 ?2 C( Y8 m+ E5 s<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": , ~+ M4 l$ _6 Z: ^/ O
) F# ^& z' k3 R( h& _% y
图11 在队列管理中输入"QM_JACK"
2 @" x& n; U8 n' n& C4 u# U) [ ( ?* o/ s& H2 b" Z( b' u6 h
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": + p5 D0 G. }- J$ G$ V
0 q5 ^ D8 n- r6 M/ C: ^
图12 3 h9 k; l$ e1 o7 \" p" l& {, J) q$ v
设置队列日志 0 h' ?, p7 n% m& S. I* B
 0 d" J3 w8 F4 P8 L
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
. u4 p$ t& |- A4 q8 \7 S3 Q0 A6 k+ I1 ]9 F& y% x
图13 创建服务器连接通道
0 x( E! y+ G- ^/ Q, Y
- {/ ]% X( G6 ?4 t, z* R% T<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
- L3 _& [, j! p# ~, R N# ^% K9 D1 m- ~% J/ h+ Q1 U
图 14 / R3 E* ^1 o& V8 U+ I: Y
设置队列管理器QM_JACK的侦听端口 ' ^& l$ q( I+ `

% D0 o% Z$ d0 {! [! J<6>系统进入等待界面:
' P% J5 K- }5 w$ T3 X D. F# G, A8 N- x0 j7 q
图 15 6 \: D; n% \7 q( E# s0 ^; ` X
系统等待界面
& k# n6 o5 o/ ^ \6 M, X. q4 T* m ( f5 I+ C: M v& x
<7>队列管理器 QM_JACK创建成功 7 |" o4 H' U3 n D) g* ^. D
2 I6 @. @# b& u6 k
图 16 . L9 M& t# r- E2 ^# \
系统队列管理器QM_JACK创建成功 0 E# X0 \: r6 ~" t1 z

9 \: |. {+ ^) ~- z- t r3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
6 Y$ r2 G$ Y% ~( \4 E! ?, E" c: X+ k9 O! u# }
图17 定义本地队列 8 M% C8 M+ l( v Q. w% Y( S! R
# X7 u( x; S; K! B5 f " S2 Y( v7 ~# |5 j/ l6 x
8 D* e. b, h$ V
图18 定义本地队列
) v" e$ L# c, X- T, G$ v 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 & {7 a. O9 |9 X$ a
图 19 * \. ~* K# \6 _1 a! x
创建服务器连接通道 ; x- C( Y3 `/ F. Q

2 m# s& U0 @ \3 ~7 E. B
& x/ a5 y5 } F% M; K7 d( U3 A 图20 创建服务器连接通道
1 ^* ~# H% w7 u3 q! U, @& G 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
! a( o# f0 m: z" Q( Q t% C0 j* u' ELinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
- Q# m( G+ X9 q' V2 w! E* bxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: " P- J w B- U) X) G* L, g
图21
. h9 j# R" E& H& ?创建系统用户
! t6 {% V- x1 @: Q/ V. q / o: }; C9 N6 Z- ]
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
* `# ~* e2 v+ d# t& P 图22 创建系统用户
O8 I- @* W3 e! n2 E
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ
/ W R# F: s" ]$ mServer后系统自动创建的)。具体操作如下:
! X/ s" Z" M( Q6 M7 y 图23
$ k) t w3 u% M5 @5 P9 g设置系统用户所在组
/ c, g/ `' a3 {& h 点击 "属性":
g/ r1 v _* r+ [0 I 图24 设置系统用户所在组 # _. W1 w! T* ? v" E
 点击 "添加": ! F4 ^: \/ D1 f) y7 Z
图25 9 T. m" v& r+ Y# g3 ~7 P$ i4 A3 o
设置系统用户所在组* x! ?! y3 v; M; K* A7 u, p
 输入对象名称: mqm,点击"确定":
# Z0 Y7 [4 k# A# B$ B" D2 a 图26 设置系统用户所在组 6 W% I+ W5 \3 ^
 root用户被添入 mqm组中: 6 E6 L2 y1 U) a" U
图27 设置系统用户所在组
. L: `% k' o$ j5 G, V 0 E& R f3 |2 I2 o, f. B- {
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 : c/ s7 P0 a; ]/ f
|