首先介绍一下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从队列上接收数据 % \3 b }+ S4 Z' B1 @. M6 t) O
安装步骤。(此处为转载文章,作者已经证实所有步骤。)
) L( v" |7 ^1 K. P* v/ h' _Windows下 WebSphere MQ : a8 T% f# f0 G, A- w$ N
服务端的安装: ( 1)把WebSphere MQ
4 v, |: T2 a6 {% [# i* cWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
" p" e5 ]! u8 Z# r" z$ ^安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: , r! \* C+ x- }5 a9 _
- WebSphere MQ CD
- 因特网
- 网络: z! ?; w) d* v' g
0 H* q! ]% M1 ^% m. C8 v( i6 y( N( 6)安装完成时,单击项目左边的"-"符号。
0 ~. ~- O7 B6 N$ Y$ H5 L$ z注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere - P& L3 X2 e) a. k* t, |, r
MQ"安装选项 (9)选择启动WebSphere ! U9 A- _% C( {9 A9 Q( X
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere
/ O% i2 c* v+ ~# a1 eMQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
' v0 L1 O4 T' g+ d" zMQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
# H* ? W4 f9 w4 h# {9 Y6 P' w' L9 [, g% PMQ"向导。 安装图示 @% L# K- E/ o3 v' j0 B. d5 Z
; x1 e( F: x$ G: G# x

& m% c0 r: }( B- O8 C. v; `
( D9 N. B2 j0 X
( \( v& b6 z% w, Q; K. H
1 O1 G( m7 c) g# O( Q) I+ F
9 |% O+ P7 [6 U( |( l5 z# ^2 {% {; p/ I$ S! J) c2 X1 P/ W6 ], b3 l
- `1 f& M, x8 E
# A9 T; Y* d) L$ c U* D
5 @/ u! K, E/ G+ } j. S$ y; m. J$ P' l! ~. a

9 E* C/ X0 ^8 l V+ \+ v: r6 Z3 c0 C% I! i# e; d7 |

* A! }/ e7 N d$ B" y
! a9 a% [ Q& B$ ^. u7 m# a3 [
4 J" o7 ^8 o5 z, j% |7 f2 G( A
7 G* f4 K- X2 S8 `2 `7 J8 }0 t 5 a& c: C$ r. ^5 ^ q7 A* m
) ]8 w+ V* o* \* v$ s- l
. c. x/ v' e3 U, T . w Q! r4 N3 b8 w& n/ I2 ?

$ e2 k4 x- O! h5 c3 Q: D0 N1 z0 w
: u ?( F" y7 X* i
3 @( @; E1 k7 z' }
, q3 V" E+ e- ~0 \) y( s& l1 [4 E9 @' M2 ~2 u
8 a* T. L. M8 H' S6 J
9 \9 F7 Z5 C9 g$ Z& W6 U, g
# ]6 O5 E) N0 `( o
- W* A" q, G7 f, l: G 2 W5 m; ~% {7 L2 Y& T3 U8 i# z1 P
* L' j! c6 ?" |6 W; [
; |, M; @1 R& H: h% `; F0 s' n# s
$ {* h o/ Y- m7 E0 U- B! s
. ^) w0 O" E6 Q! m
4 _1 e Y' Z7 p4 H应用分析
; O/ x$ Q3 K8 A1 Q U7 e B+ K2 \/ m5 h" q1 a5 g5 ~8 p5 E4 m
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, + Z" k* o0 g$ U
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。) E# E! g8 V" ?
* s1 Z( F' O$ j) y& V8 I7 h* o5 t + p8 j8 K. I, T% [/ E# c! d! q! |4 v. S
服务端配置
2 ] n J3 x$ h, @9 ?7 e3 r1 W3 y% X& p/ e* w
1)点 "开始"->"所有程序"->"IBM 3 b8 M# f( G( L, }% v$ L- ~
WebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ & {& { f0 C* |
资源管理器界面。如下图所示:
. ~$ v( b( g# u- G% B
, q5 V, i( A( e @ 图9
* o1 _; V$ x/ u服务端配置 " ?9 x- `5 p W- z0 \9 ]8 |) a
 . a0 H/ K1 n# ^/ o- F
2)创建名为 "QM_JACK"的队列管理器 1 y0 j0 O# g2 t' p
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: " D' Z! s% G! D: X& F2 n4 \& C
8 u8 K9 E* }, p0 W+ G 图10 创建名为"QM_JACK"的队列管理器 C) b) A# @1 s1 Z( ~& i: r$ K
 9 y3 o# X, C# w( D4 M T+ h8 M
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": Z8 g# M$ d- I
% [' [( b# Z- ^$ H& u
图11 在队列管理中输入"QM_JACK"
$ X9 z6 q- i% g6 z/ n ; o8 E" U2 z; E/ S- r4 H
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 4 g% ]! u9 O- Y
" k5 ^: }( E! k; s0 p 图12
x3 a9 g( X! h+ { i2 F3 U设置队列日志
8 R; w) P$ Y2 h5 b : @; l( k. d3 l- [* A3 k! N4 b
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": . K* Z7 p/ z$ e0 z6 s, C+ {
1 g* r, ^/ ]7 O# ^
图13 创建服务器连接通道
6 q1 n k9 n- Q, g" l
. o) t) F( W( r% s- \, n, V<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
( l* v3 H, O2 s
2 S M! ?. m6 C" B 图 14 $ V$ j- f+ Q# {& h" b
设置队列管理器QM_JACK的侦听端口 : \- ?' m& w6 s1 _$ K) x

# ^ P9 }8 J! Q, c O* Z<6>系统进入等待界面: / L# g7 f4 ^ {, @2 p. L
# s3 t: H* G3 J& X. G" I. ~
图 15
. ^; E) ~5 P! O9 K' |" L1 F系统等待界面
6 X9 I `, R' {2 M" q- r( o# {% T 8 X1 U9 Q: ~' v* ^, S
<7>队列管理器 QM_JACK创建成功 - ^, W9 O8 P" o7 c8 j! _
# r' x0 Q& j# ?) O0 v
图 16 0 y& @, |" f& z7 F; k) B
系统队列管理器QM_JACK创建成功
) Q, Z& }3 J' t: ] ( f- k1 _' D4 U4 i. w2 U5 `+ p
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
* ~% K! D# d3 U6 g# {/ E* }, K8 ^, H- h$ [, ~
图17 定义本地队列 ) F- Q0 Q, k1 |* h7 S& z
* v: C3 c8 C, O* l5 L0 O9 V: M! U ; N: f# E; `9 J8 ]# j2 j$ s
# ~3 p' p7 \6 F
图18 定义本地队列 $ S6 g( J& W+ H" k1 X. ?
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
5 s" ^5 w( H: \, h& F 图 19 3 X7 ^1 W8 K3 H& f
创建服务器连接通道 6 S6 Z, ]2 ?1 u5 r% T

8 p2 T: [6 D2 K8 ~, x$ G j& r# K' ]9 E8 q9 I
图20 创建服务器连接通道 & M6 P5 C6 a A/ d# V" i; D1 r
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
P' a/ t4 @0 N4 OLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
3 c6 v. l) f- V# e. [" n5 f4 {xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
2 t4 V; v$ C* o2 S 图21
& j7 u7 m7 `, x创建系统用户
+ a* i- D+ z. F9 W5 |8 W
9 p$ A% w/ L+ G; v; H<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
; \7 d/ z# K1 }' n6 w7 ]0 L% r9 s- P 图22 创建系统用户
% {. v7 K7 ?( `
随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ 1 V4 Z, y9 v# z' F$ p( y3 q
Server后系统自动创建的)。具体操作如下:
/ S' X% O6 H$ F9 _: y c 图23
! D- J# Z/ @( W, |5 _1 Y$ ~* ^( p设置系统用户所在组 % J" _" Q9 e9 o+ ^/ t/ t; Y# }# ^
点击 "属性":
: ^5 J8 D n* z# p9 C# M1 b 图24 设置系统用户所在组 $ l' k( i) S1 D m; P H
 点击 "添加":
1 [' _% U' S) Z Q0 { 图25
5 v& a2 U1 M0 Z5 R p设置系统用户所在组. ?" r: A6 u, Z# v; Q

输入对象名称: mqm,点击"确定": + g) d0 i \& U7 v
图26 设置系统用户所在组 & i% j$ P) F2 e9 J
 root用户被添入 mqm组中: 0 e2 D2 X; q( q+ _ R- t/ Z p% w; H
图27 设置系统用户所在组. F' u% t) d- }! a2 ~9 S M

[ Q9 E% L! A! M点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 . Z, M$ z4 T7 ?+ T
|