|
首先介绍一下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从队列上接收数据 ' V6 i, u, a9 ~7 n! Q& {0 {1 V
安装步骤。(此处为转载文章,作者已经证实所有步骤。) 5 d; n6 m+ B( a4 D$ q: J _
Windows下 WebSphere MQ
; G4 G. [' \( v7 B服务端的安装: ( 1)把WebSphere MQ 3 `& j! l" f B! K1 l, {$ s( Q
Windows版服务器CD-ROM插入CD-ROM驱动器。 ( 2)如果安装了自动运行,那么会启动安装进程。如果不启动,则双击CD-ROM上的根目录中的Setup图标以启动安装程序。 (3)请等待,直到出现"WebSphere MQ $ Z' i1 i( R* Q
安装启动板"窗口为止。 (4)如果需要更改安装的本地语言,单击"选择语言"图标,然后从列表中选择所需的语言。 (5)选择必备软件选项。 选择典型安装后,安装界面上的每个安装项右边有一个对钩号(表示已安装),反之则为一个叉号(表示还没有安装,如果要装 MQ,则必须先把这些软件装好)。 如果出现了叉号: 1)单击项目左边的 "+"号以显示安装连接; 2)选择要使用的安装源的选项,从以下各项选择: - ]. R, Q: d: t+ `5 z- W) @
- WebSphere MQ CD
- 因特网
- 网络
2 c3 @1 S/ e. e" [/ s+ A$ e
* R. \" R1 @" q1 M( 6)安装完成时,单击项目左边的"-"符号。" @: H8 t$ p! O3 `
注意:对于定制安装,可能不需要所有的必备软件。 ( 7)安装完所有的必备软件,然后选择"网络先决条件"选项。 ( 8)选择"WebSphere - j" n6 H7 M( g; c- H' }
MQ"安装选项 (9)选择启动WebSphere % D2 @+ q' E9 F9 Z
MQ安装程序,然后等待,直到显示了带有欢迎信息的"WebSphere MQ安装"窗口为止。 (10)单击"下一步"按钮继续。 (11)阅读面板上的信息和许可证条款,选择接受,然后单击"下一步"。 (12)如果机器上未安装过此产品的前一个版本,则显示"安装类型"面板。选择希望的安装类型(一般选择"典型"安装即可),然后单击"下一步"按钮。 (13)"WebSphere " ]- D6 Z( s8 ~
MQ安装"窗口显示"安装WebSphere MQ就绪"信息。该窗口还显示用户选中的安装摘要,单击"安装"开始正式安装。 ( 14)成功安装WebSphere 2 v# d% b8 i- ^' ]
MQ后,"WebSphere MQ安装"窗口显示以下信息:安装向导成功完成。 ( 15)单击"完成"按钮启动"准备WebSphere - d( d, O, _& W1 S
MQ"向导。 安装图示
3 G s2 V- r. H8 N1 Y8 I$ b6 n% j$ Y( l, Z/ T
$ z3 e- R: A$ B C C
+ L! @; ` s- C
/ u. ~. T' T; p. U+ a0 e/ G& W6 h6 G- ~2 T* j( u, y! u' ?/ ~& n
J; C! i+ h# ^ S
( `/ n% R& T/ Q . V" K/ N F7 o/ i' P: C1 Y
0 _% q$ F0 j8 z" G
' a! t, y# r# M
5 P" u: \ K( \: w/ H ' n+ m2 B) m2 X3 V* w3 p$ a6 I
: Q' W' ~$ D% D4 P+ K

: q& }5 a. K" A$ P+ W5 O$ }. M1 U6 V$ t3 ?

3 V1 c6 {% C' a" Y5 ^2 s8 z) V# h; U) P+ E

5 a' r2 u$ f. v, v
0 y( ?' s( [" `+ O9 o0 A' }: ]1 |
+ h5 `' a" o5 b# K$ d2 y: w. A + T9 Q$ A1 y8 r( A; u9 j
, g; O1 l* B( x+ W. ~ O$ `/ O
5 L& S8 W% r9 b' S2 {2 I; z- N0 K

. `; |9 z3 W. [4 O* c8 K" W4 v
3 ]1 n" L; ~ N6 e2 e
9 U6 G: v+ J1 ?) \, `1 M
% R6 M4 X0 a" u r" E+ d6 U 1 E0 y0 k9 G+ e! i0 E- t. G1 y( \+ M
+ j! N% Z/ \4 K, _$ E

K" l+ `3 u0 u7 P, H+ E$ R4 g0 U2 `2 O8 g9 g/ V, b
# Z( p5 j2 P( g6 j Y
$ z; |5 a) h% n5 C3 t L" S
: l, a) @; u! f9 k: I2 `
# l# e/ s7 |0 ^; M5 j. U1 p

% ^1 L" A g7 m; V" ~+ e6 C; p7 X) Q ]
应用分析3 r: V6 [! V" g' N" w$ U. i: N
! g) s' l3 \) `8 S' _; D3 A# a该章节主要内容包括MQ服务端的基本配置,如队列管理器,队列以及通道的建立,
# ]* L" c. v8 f5 { P1 U+ E且包含JAVA实现的客户端程序。由此构成一个完整的客户端-服务器的流程。 Y- v$ n$ K) c9 s0 I5 f
5 z w2 o5 h; R# r; a3 Y , i! e: j" z# H6 j. S
服务端配置
1 t+ k' E' U- \ ^! U% G4 l8 E* N4 E/ V& @2 I0 |
1)点 "开始"->"所有程序"->"IBM
1 t* Y6 v1 h5 g' D. ^# K. D8 V% kWebSphere MQ"->"WebSphere MQ 资源管理器",进入WebSphere MQ ' o3 S" w3 z) x- k
资源管理器界面。如下图所示: - N* c1 k0 h4 b4 W* j2 M8 G1 D
$ w; r; _, P& u/ ^, K( u
图9 2 d q0 t# z, y8 L8 J5 R! ]
服务端配置 ! d( H; e! o9 \. r( I' u

: [% Z1 j+ o; W+ f; g; Q2)创建名为 "QM_JACK"的队列管理器 ' k$ n- S5 j/ M) c8 F. B# A
<1>选中 "队列管理器"->"新建"->"队列管理器",如下图所示:
" t# R- E0 \0 S. P3 l6 @3 R) g, a' p4 Y4 U* m7 D
图10 创建名为"QM_JACK"的队列管理器 7 f& d; T6 p- U

V5 T# I# t& f* ~<2>在队列管理中输入 "QM_JACK",其他选项默认不变,点"下一步": / u' J4 Q9 b9 ~3 A( s* d
; `6 V/ @, ^, P5 @* U0 \
图11 在队列管理中输入"QM_JACK" : f2 W4 ~3 J& K7 l u' {

; N) e3 Q) |- B8 F9 L<3>设置队列日志(本步骤采用系统默认设置),点 "下一步":
8 V; J( Q6 u5 q% x4 H3 X
R' P" X3 r8 v8 Q* m! q) [6 ]9 ] 图12 - b1 V$ J8 Z1 o9 X9 M1 `( s- b! W! r
设置队列日志
$ N9 g4 q" U, G7 z O6 @
5 ~8 |4 G! B" H+ {) d<4>启动队列管理器,创建服务器连接通道,允许在 TCP/IP上进行队列管理器的远程管理,点击"下一步": 2 u9 [5 ]2 L. _& M1 s. a
7 v/ B# Y$ D/ N" t( e
图13 创建服务器连接通道
6 A# ?$ E) [; s
, `9 F1 ]1 Y; i5 A% ^! ?<5>设置队列管理器 QM_JACK的侦听端口:8927(用户可以根据需要自行更改端口号),点击"完成"。
+ ]. n) K5 k( b; R* S3 k3 k% K$ X- |0 W2 P! ^+ a* ?- k M
图 14 3 N/ B" V& T) T& q8 P# ^# |
设置队列管理器QM_JACK的侦听端口
E8 H- [ j, e8 O+ S5 D * G$ r' z8 c. q" Z
<6>系统进入等待界面:
3 B1 l k' a5 }4 N: }- w( [* l9 X* v* a0 l
图 15
! Y; A+ b& ]" Y* @系统等待界面
9 n+ N, u: s. H- ~0 c5 `( G
. S9 v0 _3 M7 T. S<7>队列管理器 QM_JACK创建成功
1 H4 F$ \6 o5 A' p- N
: o. Z8 u8 e( ]: j7 g, W 图 16 $ y" C9 S$ k, {/ V# _
系统队列管理器QM_JACK创建成功 4 O, w' |. F' j- `' _: }# h
 / g4 e8 a/ q3 E. V9 P8 W
3)在 QM_JACK下创建名为"QUEUE_RECV"和"QUEUE_REPLY"的本地队列(客户可以根据自己的需求随意更改本地队列的名字和数量,这里创建这两个本地队列只是为之后的MQ_Tuxedo项目作准备):
( R! M8 g/ T, T. w N5 F0 \2 Y+ @( A3 |
图17 定义本地队列 . Q7 U `' H+ O& ^7 A: g
* h7 {" \) F6 q$ C+ F4 G5 E

1 F; p$ y: M; m+ m8 Z; \, [ W6 |
图18 定义本地队列
- Y% ]' Z; s( u9 s 设置队列名后其他属性全为系统默认值,点击 "确定"。 4)在 QM_JACK下创建名为"CNN_JACK"的服务器通道。 : h# U _4 L ^3 G9 `8 c
图 19 " ^7 y$ } M1 V& K" k. G' ~) a+ F1 z
创建服务器连接通道 6 P; _3 n8 f7 G. R6 U! Z
* E* `0 @: U- \# s
# w7 i. ]3 z' B9 M" ~3 a
图20 创建服务器连接通道
# b9 g0 f: ~* O6 f' ~& G2 i. B 通道名称设为 CNN_JACK,其他选项保留为系统默认设置,点击"确定"。 5)在 MQ服务器端的计算机用户中添加MQ客户端所在计算机的系统用户。比如我的MQ客户端被Suse ) V5 ?% S7 S- ^& O
Linux下的root用户使用,那么,我们就需要在MQ的服务端(也就是Windows ( s7 e p# t" L, W* ~- s
xp系统中添加名为"root"的用户)所在的计算机系统中添加名为"root"的用户。具体步骤如下: <1>点击 "开始"->"控制面板"->"计算机管理"->"系统工具"->"本地用户和组"->"用户",点右键,选"新用户",如下图所示:
+ d6 i% j9 t. g. x8 y 图21
4 W8 x" ~- [' I+ u# L! n; j7 K创建系统用户
- U! p" \+ w. R' p4 @6 j0 ^- m, { . E J; a M7 K
<2>创建新用户: root(注意:这里的用户名"root"是MQ客户端所在系统的用户名,用户要根据具体情况进行修改) & l0 O! Y- I. t% o4 w: t
图22 创建系统用户
9 q" G( \6 \' O) m' i% j 随意设置一个有效密码,选中密码永不过期,点击 "创建"。 <3>将新用户加入 mqm组(注意:这里的mqm组是我们安装完MQ 9 w `5 _- R2 R( T
Server后系统自动创建的)。具体操作如下: 1 _# P2 S5 o! d" w* w- e& p
图23 8 V& l K2 l% `2 o# l: \, e r
设置系统用户所在组
* o! _. \1 B* O R6 m 点击 "属性":
& G: {6 e6 v( x 图24 设置系统用户所在组 & d8 y+ i( p/ Z. W$ F! l5 n& X
 点击 "添加": / w7 {5 z$ ?/ m/ d5 S2 d
图25
: v% R6 ^* e3 N; z0 y设置系统用户所在组4 G* ^( O& V6 e. j, C
 输入对象名称: mqm,点击"确定":
- d+ O' f2 W5 d6 c* a w# p" z 图26 设置系统用户所在组
' ^( W4 k3 z0 Y! q" [ root用户被添入 mqm组中:
9 h7 U# ^9 A$ ~5 p: A 图27 设置系统用户所在组8 b) p" y* [# n
 4 n4 c3 ~+ ?+ M" C- j
点击 "应用",点击"确定"。 重启机器。至此, MQ服务端的配置完成。 ! G# U( U( X% K; ?, z6 w: {
|