首先介绍一下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从队列上接收数据
9 z. M7 } r& F1 B2 ?安装步骤。(此处为转载文章,作者已经证实所有步骤。)
4 |4 _$ Q" `+ \' k% x: LWindows下 WebSphere MQ
! l+ E8 ]3 A d1 d服务端的安装: ( 1)把WebSphere MQ
" u2 s8 G* L- f: R7 j# cWindows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ * x/ }3 x; \/ C+ _. C
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: . H3 t8 ]/ r0 \' Z/ N: p
- WebSphere MQ CD
- 因特网
- 网络6 y/ E+ g2 _' c/ k! Y& N6 h
( j( G% s; @9 G6 H* l( 6)安装完成时,单击项目左边的"-"符号。% E5 ~! A0 J5 x; d1 {8 `' a! B
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere $ _# {7 J5 |" X" w+ R
MQ"安装选项 (9)选择启动WebSphere
$ R2 `; j" H, N' A' z+ }& JMQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere # n+ B1 S1 s# F
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere . m3 A- ^1 V8 p; ^. n
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
k" _! q! e% {7 u1 A* cMQ"向导。 安装图示
/ w& A. @- X4 u* u1 l6 X1 S' J. k) L: x2 {* c4 P- s$ s) ]) b, _

% g, s. d2 u3 m( V9 c$ X7 }! `- J5 z& f; u1 E
. Y6 c( p7 u, v. l( B
8 j! n6 l7 x" g$ E1 e W
0 r8 |, L* [; L. |: M2 Y$ g9 V6 G8 r5 d& Y+ ?/ w& `! r

' o6 o2 u( m' w% g) }" s2 B+ m$ j% P6 M/ y
( x/ }6 v" a! h1 B: d! z
: ~; X6 ` q1 X+ s: o# H$ s+ {8 D - w, y9 p$ l5 ^1 w) d) v5 `
+ M: Q/ V4 E1 ]! V u
5 @0 r I) o7 g d, Y" H- O; ^, x# I9 o5 N

# U# g1 n; R; ] O+ a
- J' N5 m& {2 n6 U: Z4 `
7 t( r* g. R6 Q/ F2 _* X
, S5 U! c2 j) [7 m0 j
& b5 `. t1 v2 F1 l+ ]9 B" \
7 u; T8 V1 Q' q& N # g) J1 H. a/ }2 R/ e
' o6 r0 ]7 y! W
1 Q0 y+ b& N0 c2 ^
) c$ N: ?* Z5 ^' y5 P' U & x6 `& u: p, t
, Y; `$ V+ ^7 i: Q6 S
. ^: k1 y# S1 |
% R4 ^+ N; ^1 [$ _ _1 W2 h
+ _ Z3 ?- U) V* ]5 X( _2 |0 f6 c t
1 v( f" Q2 B* O$ ` z, u
: Y5 z) f" H( G) A- u$ }5 e

& W$ }* j t% K
% Q4 c1 u7 F# y0 x9 q . [2 U& o* ]" K9 @, C& g: U u- ?
J( w" r. Y6 _& t0 _) i应用分析- O6 B! t2 y7 B7 [9 x
& P; |* ~- f) O$ w# [该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ( G! r1 {0 J6 ^
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。4 A6 T" h" q+ S! @ Z" j' G" i
5 F; h+ {# m9 i0 v2 t ) B7 f9 i1 v% j7 ^' k
服务端配置
6 @9 F9 j9 ^5 ]3 ~ B) v0 e% K+ C P- T& {+ @9 g
1)点 "开始"->"所有程序"->"IBM
$ o( v. L. M% ZWebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ
8 w4 M8 C0 l! c" R+ O+ Z资源管理器界面。如下图所示:
r# g* [! c9 S& h
9 J. c: b' T7 F; O* A 图9
, m! [# Z8 P$ ~% \5 a1 g服务端配置 . V+ C+ E) a& u5 L2 W. o4 A# Z2 e' V, U

6 G: i2 _& _3 W/ Q: z3 J, H$ ~- `9 C2)创建名为 "QM_JACK"的队列管理器 - `. i, Q& f V
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示: 9 T& N9 q7 d- U$ _5 E- j. ?
: y( i) _# q1 y' T0 x
图10 创建名为"QM_JACK"的队列管理器 1 D/ V) w5 W( a9 L# t4 H4 \/ h! X
 e; u6 O% z' |9 A+ u! j
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": ) b0 H% D, E6 T3 H- `
% m2 q% A- C- k( Z: a1 y
图11 在队列管理中输入"QM_JACK"
' F% i/ ^, u' w' A$ u 6 L6 Y4 @! I- I: y
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": 7 R1 r& W* P' ^% x- X* }
- E6 [( m, s8 }" t( N( {" J 图12 s" `0 w' Q1 b' ~9 ], d' U3 [
设置队列日志 & s! i# R( _, E* n3 s
 0 @5 ^ j- R5 u* O( \* L( W
<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
7 |# H; g5 w4 D! a) S8 |1 k
) A+ l+ Y0 M8 s. m1 c6 f 图13 创建服务器连接通道 - T- Y+ z2 K( a6 a( v' D
 - T% o9 R0 U8 f+ ]3 S1 Q+ h
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
6 @* Z1 Y" o$ r. [# @, ?0 ]( j, J: X- m$ c/ v
图 14 ! O% C* c( j4 M4 {
设置队列管理器QM_JACK的侦听端口
0 |6 i* _0 A( A
; Q! b0 b+ U+ X6 w W7 ?! H<6>系统进入等待界面:
4 l9 ^9 T& j& z. m7 j9 [. M1 I s- F2 R5 A! X# \6 l
图 15
f% w' R) y- f5 u u: V系统等待界面
0 Q7 D0 g! R+ }) X( |9 r$ Y
. W0 p% e8 w+ l' y1 S2 \3 U<7>队列管理器 QM_JACK创建成功
8 k. _ U7 \, c& \
/ u7 t8 J1 P3 a2 E0 R) o% `4 v 图 16
' ?" F1 u2 R6 G v' w( E5 U系统队列管理器QM_JACK创建成功
) E/ Q& @% L( t* Q - r9 ]5 B7 f# r' I7 h, m5 ?
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
2 `$ O' m, N, k" d: g; c- ?' p5 w0 g+ U; o* t
图17 定义本地队列 % K$ h, F0 S" k j
+ M |8 v# \/ R' J; Q2 | ^& F
& x4 i3 J+ k2 V4 D$ u
0 B6 {. E! \9 y$ S2 U. L+ U
图18 定义本地队列 - [) }8 q; z! ?+ g2 |) [0 M' z
 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。
$ b2 r7 i. a) w/ x1 g, t 图 19
2 ]" O* G0 o5 F/ N' o7 C: ~# }创建服务器连接通道
* ~- [/ f& }' a' E
* l b! Q: n4 n+ G) I# F( m8 N, h' y" {/ X/ D- Z
图20 创建服务器连接通道 . ]3 x- ]/ B6 Z6 y' X4 j7 |, S
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse
3 z g3 C' t! ^4 i5 @- b) [2 ^8 RLinux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows
g" W# O( G {8 f) ixp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示: " q, A3 Y7 {) Z" M& q
图21 4 d% h) t6 I4 `3 p
创建系统用户 2 O8 g6 b k- p9 R$ ^' d/ {7 r

( V. H! b, Q: i" P: N<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) : }4 s8 O7 X! t
图22 创建系统用户
! S% q5 _8 b5 a4 O$ w 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ % i) e2 k1 [9 L- p( ^2 h
Server后系统自动创建的)。具体操作如下:
$ `% O. a; m/ l6 ]9 t1 T 图23 7 x2 H4 L2 E3 d
设置系统用户所在组 $ J8 v/ j6 R8 Y0 k
点击 "属性":
4 I. n* c) h6 j; n; Q. w: F 图24 设置系统用户所在组
) j3 U5 O/ @& a- ]4 d 点击 "添加":
7 k$ D& N, M9 [3 O- y( F) a2 R' P 图25
* f$ z+ j# V; M& h设置系统用户所在组7 I) S/ P K9 P- v2 p1 _' B

输入对象名称: mqm,点击"确定": ; ?7 y# v \7 e
图26 设置系统用户所在组 $ `0 n8 [4 X: O I3 d9 H$ ]" p
 root用户被添入 mqm组中:
7 j, }/ \; ~$ Z' t/ ?0 `* v 图27 设置系统用户所在组
' S/ L( T% ?: ~: [& u. L; U 1 H1 i: g# Z: Z" p* R
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。
: W: S! C1 p/ }1 b$ w |