首先介绍一下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& A! h$ k. ^1 P# ~4 d* I1 e9 j安装步骤。(此处为转载文章,作者已经证实所有步骤。) # ?, Y% X2 M" @ X1 e+ J7 ^
Windows下 WebSphere MQ
, \4 o2 M3 q' }; q" e& O* y/ i服务端的安装: ( 1)把WebSphere MQ / z$ ~9 U1 m+ M' F* O- h- S
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
& V8 Z# T6 Q `安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择:
# L) ~; _+ L2 M4 S n+ U5 ]& l - WebSphere MQ CD
- 因特网
- 网络
! B' M/ I: e; c/ n1 h. q + U, ^ e2 ?" S' k) H" p
( 6)安装完成时,单击项目左边的"-"符号。/ j7 ~7 P& ]+ W/ l
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere
; b1 N' m5 P. H7 V' s' [3 VMQ"安装选项 (9)选择启动WebSphere 4 j' W* W' O- o7 q `& N/ `' j
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere 7 z! V. Q8 E' a* b
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere 3 a) Z$ k5 y7 Z2 g4 ]' L/ ^
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
; n H" r# G) a- K8 |4 m8 C( ^MQ"向导。 安装图示
% o* P% s4 p) i: d4 p, D
2 |$ ?3 w/ R0 V! c/ C, c2 M6 u: B . Q3 x+ f& f& e/ {
& n2 f1 d# J2 G9 B 3 @& a# R, T9 j# u% r/ d% w' W
0 T! R. G' x4 C) p: T

6 d- R; i4 f, p- k# H0 L* r5 M' f
( r6 [% L7 I. x4 v7 w7 h4 a 1 h; L/ D- x# [3 S
Q- S$ T, x7 o5 G" Z1 p# U
6 k8 S* E. N4 U7 j( @
! W$ W% ^ S+ R! a8 V0 p3 v
7 g4 R" M# |' V/ T6 |! i2 v3 t9 n$ x0 v) r
1 {( A& o2 f" Y2 t6 S2 V5 v
7 y2 C9 ?, M6 a, H) V% F+ u0 F
0 f" `) n0 d4 @( `3 G/ A
e8 q9 c# S1 d

. Z4 q" o ~6 L. M8 W6 y) _% |2 k: u4 R3 u3 z1 e
. j1 F/ _) q' x( X
, Z4 \$ {, e( X7 E- L& r% e$ ?. f * Z( d' `6 W0 L# {8 d5 @
' w/ ]9 e5 e8 g; l4 N( e
+ {- A! D6 q8 L% r
% w) [1 O9 G1 w! D, |0 I
+ ~7 q4 U! u: h8 i" x
/ P6 @" T+ \, }6 U u. H
1 N6 H7 I3 y2 C$ T
. @0 ]$ |, i4 O# W
8 l% g1 z( G! ^! Q; |; e. e: O& ~, I8 o: \: ?, M7 I7 N
9 Z* m$ X) m3 {1 m
8 p; I6 `& e @
4 @- e1 J, Q; `7 q4 n2 W/ J8 N7 r) r9 v( e1 ~% Q

/ c/ w/ j2 D4 u5 v0 B0 k# C/ T+ |) b: p
应用分析: X' ~+ u' O4 D
+ J( `1 |# F# b' L% `7 I7 p
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
1 T' |$ A' e+ S. n+ k且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。7 ~/ m1 _ o- R0 q f8 \& `6 _
7 P" l/ z6 U1 }; U; K/ t & e% q$ n8 N. n4 t* S5 l
服务端配置
5 ` s% H& d e+ r2 `' H. e* ] o n
1)点 "开始"->"所有程序"->"IBM
- p1 ^! v& \1 J5 EWebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
Q a" L, o4 \$ ]8 G: ^7 A7 o资源管理器界面。如下图所示: ; {+ b% W3 M( G% I
' U! j: ]3 f( E: P
图9
' b, n, G9 M/ g% \" G: H4 W服务端配置
8 n" K0 j# Z* {# h/ x
5 M6 `% |7 n7 L+ |" t2 O( t2)创建名为 "QM_JACK"的队列管理器
7 n8 W* Y @8 Z; q* M<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: 5 W2 {( }, R4 z
! l& R' Y* q5 |# {9 t' y
图10 创建名为"QM_JACK"的队列管理器
' d$ }* f& D9 l7 m* S
4 F7 E+ ^9 w2 a) K<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": 5 z4 E2 B8 H0 V; D% ]
+ g' p* [8 C# {4 c H
图11 在队列管理中输入"QM_JACK" ( i; i# I# l) ]5 I# M# N
 ' [' I p3 k5 X0 V1 Z1 n
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": , U* M& G. J' Y
. D: n8 |; Q0 N& x) G; {3 X
图12
3 G3 P+ [+ K4 C8 {1 {. o设置队列日志 % ^& Z. w( ?% Y P' y
 . F7 `: p! _) Y9 ?* u- O4 n n2 J$ `( u
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": " X6 X) Q* F( \! U
; C, _8 q h" `' ?2 q7 Y 图13 创建服务器连接通道
$ E) t3 {% Y2 M: a0 s* T1 t; a
0 w# F) k5 w2 D2 I1 v3 ~( X<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
- A8 S2 o; N8 U7 p
, e# l, N& j+ j! A! p 图 14 + ^4 x0 P) _5 z* I2 x" C0 [
设置队列管理器QM_JACK的侦听端口
$ r1 d; S" ]# N
( p8 p r3 }# c9 N<6>系统进入等待界面:
* b$ {% m. v5 A! W9 O" ^4 ~
' w2 A* {. C6 a/ Q( { 图 15 8 @# g$ F% S* ?: J0 m( A' Z& ~
系统等待界面
0 ~; u, c0 R( Y0 ]& d
, X& B& z! g3 h% ~; n<7>队列管理器 QM_JACK创建成功
6 L/ t$ ]* r- s: _! t9 t! f; z: ~) S y: v e4 |! A# o
图 16
( S- p8 x1 H4 j ]* Q$ h系统队列管理器QM_JACK创建成功
( O+ A5 b {0 c5 c1 f ! v5 w: ?+ _5 z9 a
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备): 1 s6 ~; d( t5 _& ~) w- Y5 g
% t8 D: Y3 u* ?2 p4 j 图17 定义本地队列
3 t" O2 ~! L- u2 ^! L! l( h1 d$ J+ K0 }

1 f1 p" ? m+ m" g/ T$ N, x7 V, K5 K
图18 定义本地队列 4 J8 A& M$ t0 l* M7 P8 r" Y
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
1 f$ R! }( d* C R( s* }5 c- X/ V 图 19
9 N8 |7 W* f' e2 _) g9 ]4 ~创建服务器连接通道
5 \+ y$ V3 G% y1 I 2 w; v$ W, T$ ? P
r/ w/ X$ R7 ^" B( l1 p 图20 创建服务器连接通道 " X3 f+ C8 y; H& `$ o3 E9 s
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse 4 _+ }& L# T$ G( N1 O* C
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
3 @7 d# ]3 ]& m0 C% v$ Z% hxp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
+ z8 v7 w( I5 B: T; P9 D 图21
|" _1 }3 q: w: K& v+ C创建系统用户
5 o4 G# m! j8 j5 ]" K" \% V' u7 \
% ?+ j* Q5 O+ L3 _4 n+ e<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) : F+ o5 J* {7 u$ K9 c( b+ z
图22 创建系统用户4 H9 c4 i- P; B6 u- r. ]5 f2 S
 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ / R8 p: R$ H# y" E( P7 }
Server后系统自动创建的)。具体操作如下: " x9 p5 O$ z( N/ v4 k! l O x- ?1 g
图23 - ?1 T) w3 B" |' H. F5 O3 I. @0 A
设置系统用户所在组
' q" _" }' }) v+ E% s 点击 "属性": ; N; B C# B! Z w. ]
图24 设置系统用户所在组
7 v' ~4 n! f0 l8 C/ G: r5 S* X* Z* r5 \* ^ 点击 "添加":
L+ l. p' Q. `0 h, i! h 图25 9 _! Q- y* D9 {2 x* w
设置系统用户所在组
' h! d3 P7 h$ u( @
输入对象名称: mqm,点击"确定":
2 ]4 |* _1 I4 V 图26 设置系统用户所在组 % z- M6 A; H1 n, y9 h+ V" ^1 f5 r
 root用户被添入 mqm组中: " Y* P5 F1 \ w( k, r5 h
图27 设置系统用户所在组5 A2 d+ W* V/ g4 Q: V9 w$ U
 9 b. L9 e: M& p& {$ D. d9 s
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 ; Z: f! g: g7 c& b
|