|
首先介绍一下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从队列上接收数据 ' T) ^' t6 f) Z0 W
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
9 ]: b6 I( O& w5 @Windows下 WebSphere MQ
" h, I& W5 F& c, @' d$ [服务端的安装: ( 1)把WebSphere MQ
( p3 S6 \, D6 I: }( w4 jWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
2 x8 T, U& D, x/ y4 M; J安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: & e9 u. _6 F4 B$ p* C L
- WebSphere MQ CD
- 因特网
- 网络7 M: k; D7 P+ G" |( G2 {
$ ]! ?# Y# _3 C3 X. W5 I- g2 `9 N( 6)安装完成时,单击项目左边的"-"符号。! |( i5 X! g- W4 Z, _
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere # R3 t8 L0 C7 a: ~
MQ"安装选项 (9)选择启动WebSphere 2 G4 z$ [" U, f8 y
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
& v% n$ J' x$ _$ {+ tMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere " x% V4 x3 L$ s, @. I ?' H, o& g
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
8 Q- f e1 U" ~9 T$ O* NMQ"向导。 安装图示" Z9 M+ u# K- E% A5 ]- A ?
% G) ]1 Y0 R% ?( o3 Z
, ? ^: _0 G% x3 y3 w7 [/ l; }1 G# g3 i4 c* J
6 K. p) T" v1 Q7 g- x) W
7 Z: {0 }. E* Y0 [# E
: |' B! @$ d; ^2 U- A& L
' h* T! G2 P4 Q" r4 B
- \' g. m* I P5 n& [) u) b3 d4 t4 l
! n) R8 b3 A# e4 s! [9 B! C$ R( D9 ^9 _' h" ^+ v: R; h' G
/ `" L' |/ J' f; K: F) H

' d! D, z, }# E! S$ R, q9 `- [ h: ~0 d3 p" T& c

$ |' j2 q9 b4 S) j4 `
j) X* K7 S Y: _ ! g' r5 w. _2 N6 T
& ?6 |( p, B: S3 T& l. F
. G' A3 c& j/ y2 m2 E# p$ s! A6 u' S, W5 q7 t0 h
- v' w6 v, y2 C# W% p4 I
* t9 ]0 X( x& y5 _9 a5 C6 f
" x @/ O/ I. r) w* m; k( c Q, a+ u1 I& b- N3 Z+ g- `1 T
: R7 w& e% j7 l3 k
& T- K8 q* T# w; M! {
6 W: M4 F" m7 i
' w* j+ y& h6 Z
% b1 [: G1 v- L) S
8 _# U& B' x2 B, z" A0 \

/ r8 d' L# ^: d1 m
* Y$ k. N3 V: Y: m- K
3 l7 N' g `0 H3 |& r5 V, ^- ~5 v
6 ^* X0 l/ B1 N8 B: S2 K
V& w, M" ^! _* B) K L+ M* ?1 z c& k( K9 }0 I9 _# Q' b g' p

; L; F, I$ B! n2 j' w1 a, A0 e# r+ Z* O9 @! z" _
应用分析
; u y& s( O6 d& @3 \8 \9 l- ]6 R# l7 i' n: ^/ D5 o e
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, 2 V0 `& P$ P4 p, X$ ^
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。" [- U- Z; l# y T8 P
+ p6 ^( d$ L8 ?* R' P# H3 [, n
5 \3 j# ]) s2 G* s9 Q服务端配置( z0 H* a9 }: o2 o, z
- P$ V: ]- j' }2 k3 O
1)点 "开始"->"所有程序"->"IBM ) {7 ]0 n" ~; w( O. ]
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
0 ~6 h0 H' W* ]& [资源管理器界面。如下图所示:
( Y- `" Y) r6 s8 M' B3 Q# W- [8 T% K
图9
0 d' D% _) [% |8 k+ v+ k) B服务端配置
. f2 n2 `4 r4 P9 X 7 p; d }* ^8 L0 C/ d* [
2)创建名为 "QM_JACK"的队列管理器
; ~' J& D. i: G) h<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
6 o% c& q- Y' m6 U9 ~
" W( H3 z: t! W 图10 创建名为"QM_JACK"的队列管理器 , }# T1 C, \9 a" d
 & Y+ r9 m$ [. ^9 l# K1 E
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": : F! \+ E' v* |, b$ U: O) V2 F: M- A+ j
7 N& B4 N! [3 c 图11 在队列管理中输入"QM_JACK" v. O$ c2 m1 {% y/ e, Q1 S
 ' _2 w: B1 o" T* u& d' y
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
" d- {% U9 x. P5 Y$ {- C0 k, y4 ?4 n' W& a) U/ n# V# o
图12 , x! p) T& J0 m, G
设置队列日志 ' _7 K2 O1 F% g; b4 A

' T. A- o& N% ?* ]2 E% O. i* }( x<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
* t& }8 U5 m8 Z- L! J& k! ^/ _$ R- t+ \5 k
图13 创建服务器连接通道 0 \/ I% N8 A* b& l/ q
 5 e1 T! t9 c3 `6 K! [
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。 3 o H7 R( d* z7 \
. p) i! k( r: a4 k& Q 图 14 ( q& ], \. j- p
设置队列管理器QM_JACK的侦听端口
& S' a6 Q$ j5 D" T/ w1 o 4 H7 w8 {5 Q) V0 j9 D0 s$ K
<6>系统进入等待界面:
' N% E0 `5 K+ R" g( F, H) z% h6 Z& L: f6 R8 e
图 15
: w2 r9 T( q, f系统等待界面
) v6 A- O" ?+ {5 |8 ]# | L- J3 O ; _0 r: O# D/ {+ J
<7>队列管理器 QM_JACK创建成功
6 p- X1 `( i' E6 I
+ l: v" r+ V, x4 L- \* W 图 16
* h( a* I: t0 J* C, ?系统队列管理器QM_JACK创建成功
9 y- p' M; R( Y/ b2 p
" @( ]5 S2 C2 I6 S7 q: K1 L; F" U% C6 k0 b3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): + j! G. ~( J* z& N, q& k# m
% o+ T: t" s7 d- F
图17 定义本地队列 9 I0 K' V8 c" C) u& }! }
/ W0 |, }. z; D4 s% _+ w
1 n& M" @/ T4 X z4 h6 K: V* h. S& {( f: m; m
图18 定义本地队列 1 l2 G- \9 W: L. c
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
; M. Q. \7 A2 \ 图 19
8 D* k( h- r2 p) A创建服务器连接通道
) \5 k: `( G+ a3 |; Q5 G " Y% X4 c, |1 T0 p: m6 [! o' Q" Y
2 w6 w2 _$ I6 f) }
图20 创建服务器连接通道 / ^' V+ b: s: o& O) f
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse : x9 n* R0 v; y
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
6 l2 F! D5 L/ H( ?5 Axp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
- y7 V1 `; @+ r, Q 图21
2 q0 {' ~9 n6 }2 l创建系统用户 - l1 [9 S) q; I# j) P4 G

4 Z( Z& _! U& w( m" M<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) : R* G& S, ?6 b0 T: }2 D
图22 创建系统用户, K( W" B$ j& n$ C
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ & k7 [0 u, Y) e
Server后系统自动创建的)。具体操作如下: ! x7 a. l! u5 q" `' n8 g
图23
7 Z( ^$ o. V& I: o! K# Q设置系统用户所在组
. ^1 g4 r, a; a2 U0 w, Y 点击 "属性":
0 o9 q7 W" l+ ^7 Z 图24 设置系统用户所在组 , S/ b5 t& u: }" r5 | E# q% j3 a9 O( C
 点击 "添加": 8 c, I# d( _; S6 O
图25 2 ~' {; P2 Y2 Z ^; {8 p( c1 ?
设置系统用户所在组7 ?2 O1 Z5 R! A! R4 x) t
 输入对象名称: mqm,点击"确定":
9 }& j* o8 @8 ` 图26 设置系统用户所在组 ' @2 q) J$ f9 L: L" f) ]- N& z6 N, p
 root用户被添入 mqm组中:
3 z( v/ F/ M2 S$ I+ G% \1 w# g 图27 设置系统用户所在组
% ~$ b/ {. l1 Z$ a . V8 B! ~8 {1 c7 L% K- R
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
0 g& d+ E% k! V1 c |