首先介绍一下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从队列上接收数据
: l* z3 @' ~/ b. T安装步骤。(此处为转载文章,作者已经证实所有步骤。)
1 p( @& h; T, k U9 ?5 ?Windows下 WebSphere MQ . v$ z2 h6 d' S ` `
服务端的安装: ( 1)把WebSphere MQ # `* v2 V0 v! D l9 Y( i$ s
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ
& B" p6 ]$ w7 _0 v$ v, b安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: " ?0 ]( p1 O9 w1 x1 I {3 i: N
- WebSphere MQ CD
- 因特网
- 网络
( f2 `5 U0 u! G! Y : m; p/ z- ^% y# ^+ q
( 6)安装完成时,单击项目左边的"-"符号。
@: F- D9 y3 S+ T6 d注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere : m) s1 H- Q% ~" \) P1 |8 S
MQ"安装选项 (9)选择启动WebSphere , O% b) Y1 ? G
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere : D8 M5 T: d: T& E! N
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere
# J* B; M" e# I% O- T$ V: l" ~MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere
' `5 S! \' m O* _7 g% e4 O. q, ~3 [MQ"向导。 安装图示
! g/ B$ g$ l9 [$ ~! n+ a+ m/ y7 q
/ D' l8 q4 }# a8 Y ' f" i, \! m# N2 {
6 }& r7 j4 H5 e" t7 w& j5 G/ ]

6 L9 @, U* u+ Z/ l; c7 E8 S a, I0 G: D! k( g
4 ?/ g( u, x. c' k! J) N" v
8 ~2 `: V2 k/ W% `# }
- \: U1 J- o. f. w8 U
7 T$ b; u8 U7 q4 S+ A
0 a& c6 w8 } K" p% o' {7 m7 @, B: U- n4 {0 O: |
. |! k% I& Y& i7 E# ?6 B0 A
) t% a8 U; n1 ^" z; B
3 f: {$ C4 s- B9 l4 s# L& r& G& ~) j) L- @8 ~' ?& _9 T

7 {& K9 P* g& f3 t3 [! m! s9 e0 b y2 h8 f

0 Y; Q1 B/ B; S
" Y5 a. z8 P: f1 T/ `
4 F( }1 I: t' g' ~1 A ; `) X* f; V+ I# W& C
1 ]& P. i6 O# ~. v! R8 l
$ x% s4 d. c/ f( I1 [8 z
3 `5 |, \: T) S0 ]
( [2 o4 H) U3 Q
: E' J) a7 j/ {/ s
1 l$ w# H8 F1 Y9 C! B & |! z3 _: M% s& y7 Q
2 y( p+ L# I0 ]5 k5 n

- h! k3 t6 x$ H. T7 o# n- K t! X G
0 K+ g+ ~7 k& |0 {* T9 t
8 ~! A) d i3 J

6 h( [7 R: H: v
. a2 |1 @+ O5 F) A
" J% C: [. B. J4 m0 E0 R9 v5 R7 [9 o$ d5 c+ t; y/ F# h6 \2 o h. L
应用分析6 o2 ~" G: b: Y G0 i
% V& I% V4 P) E# p7 X9 \. c) c Z
该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立, ! i* c8 d5 O( i
且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。
8 ^- H2 P$ d- Z. f5 `2 e$ h, s) ]/ A
# _6 I1 r. `8 q5 `1 L) r; t z5 H9 O - P% v: P/ t4 y2 G- K
服务端配置9 n/ Z7 z* d3 G5 b4 r
; S; O7 P( t" i0 A
1)点 "开始"->"所有程序"->"IBM
( n3 X1 i! J0 W8 X( JWebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ S" v- h4 ], |4 ~, `% I
资源管理器界面。如下图所示:
, c2 E8 q( x5 o1 @3 |, w1 N! R/ p. a) c* M; U$ C% d
图9
, x' h6 f' x; \. h1 f4 k# u( g+ C6 k服务端配置 ( n$ i& h5 Q3 @9 ]; X2 c6 L

Q. ^7 j. }0 c5 W4 j- i' j2)创建名为 "QM_JACK"的队列管理器 6 L" ]% Q' g6 \. d7 m
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
H+ E/ m0 T$ @- n' y) a2 {0 X5 W$ Q% D
图10 创建名为"QM_JACK"的队列管理器 - v' a* a9 S: }9 i [
 Z+ z2 p6 c: g% B
<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步":
& C2 t) V5 a3 R0 |, G; A
$ p+ L f. D4 {6 [4 W/ A 图11 在队列管理中输入"QM_JACK"
; T! W' ~/ b* D# u* L0 r% G. w0 P . [. d: }' E$ `# G
<3>设置队列日志(本步骤采用系统默认设置),点 "下一步": , q$ X" B, F$ R1 [* Y
4 \; h' D3 {* E, c( v' d 图12
& n: C$ w/ u: a2 \* I- a设置队列日志 & G* U8 k# C9 I

8 p4 }& H. j3 d* X- z& A& [<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步":
4 W6 n$ ^: D- y; W0 k! S7 r
3 T3 P4 q$ N/ Y3 d/ J 图13 创建服务器连接通道
: ^ {; v$ L# C W, d' W 6 F7 b+ z6 ^' [1 C4 j J
<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
! e' ~6 U' l& K0 g' [3 Q# r
+ q( `& W/ P4 E8 e' L7 w 图 14 ; A6 E/ t: o9 c& r* r# Q
设置队列管理器QM_JACK的侦听端口
2 u0 @2 S$ |- t& q 5 K4 c3 y' D: D0 Z- G4 s3 p: N- p
<6>系统进入等待界面:
: z) b: a, I4 c" y6 F
) T; T+ L% @* g: C7 J0 r 图 15
q8 \7 J- @% b4 D# c系统等待界面
, X8 e2 c/ m: L% K4 ?; T ( r+ \+ m; @) Q! T: I
<7>队列管理器 QM_JACK创建成功
( F7 e% L1 @0 [3 Z/ M4 {4 E1 e* X+ x& E1 Y2 e5 C5 f3 L! @8 I2 E2 w( [
图 16
8 e) M t% h& ?; I系统队列管理器QM_JACK创建成功
+ u: [, t2 K# C# x : ^% o% K( x$ o& X9 Z+ V- M
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
6 y) U3 @6 O* L
* u/ i. j# Q, _, _7 c' p 图17 定义本地队列
7 t' B0 h3 C7 L% y9 ?- v
, U' r1 i* X( w9 b2 B4 B
- W( \& A* k0 B6 B5 @2 @& m* o# y* `3 ?! T2 `( o
图18 定义本地队列
8 o1 Y6 ]/ P1 A- S- R2 p0 { F- t 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 / {( w* j1 I. T/ L: c D O
图 19
, T0 `1 j5 L$ f: k2 V创建服务器连接通道
h' z& C5 s5 A! x1 s2 C
/ U6 e; m! Z3 v$ f+ o/ p5 e6 H3 B5 Y' x7 [# H: `
图20 创建服务器连接通道 9 f0 l; _& R1 W) G- n
 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse 5 U2 n) I- g' n# ]
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows - }* k3 B$ {( R1 i$ |
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
. m( Y/ j; T( {# a 图21 ' R/ F/ i" s+ S5 z) N
创建系统用户 4 G3 L ^9 x0 R, N. ]

- u& B! i7 h+ s. r# f<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改)
5 B8 C# k, k/ b5 x 图22 创建系统用户( s" q+ K" U( k; Z

随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ ( [5 [+ {( S" O, |- L3 Y6 Z; K7 p4 g0 M
Server后系统自动创建的)。具体操作如下:
0 v/ c( i' R9 V9 M 图23 1 Z1 y2 t# x2 n% N
设置系统用户所在组
* A8 J. H$ e5 c1 N 点击 "属性": ; _% u+ w+ i1 L P+ f3 A) v. Z' S4 |
图24 设置系统用户所在组
- Y' j% }9 s+ ]1 ?5 k 点击 "添加": 2 r7 g8 `& ]0 u% i- w) j
图25 8 H) c2 ?! Z" B! Z0 [2 h7 u
设置系统用户所在组( r) a& j* y3 b8 `
 输入对象名称: mqm,点击"确定":
$ q8 G7 [+ g I! S$ @8 S 图26 设置系统用户所在组 . F. N" ]" C9 e# J/ S' _6 f
 root用户被添入 mqm组中:
8 p. M+ J1 m, q& k# M' m3 J1 k- R 图27 设置系统用户所在组/ Z7 }. o i6 d- r

( d6 h' G4 t& R$ H点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 9 q, c0 L3 t: b: ^# @4 x @
|