Board logo

标题: Linux 上的 WebSphere MQ 开发快速入门(1) [打印本页]

作者: look_w    时间: 2018-6-14 17:21     标题: Linux 上的 WebSphere MQ 开发快速入门(1)

引言本文的目标是让您轻松实现 Linux® 上的 IBM® WebSphere® MQ 入门。由于大部分 Linux 服务器并没有图形用户界面,因此本文将说明如何使用命令行工具在 Linux 上安装和配置 WebSphere MQ。本文将说明如何使用 WebSphere MQ Java API 创建两个示例 Java™ 应用程序:MQSend(用于向队列发送消息)和 MQGet(用于从队列接收消息)。
先决条件WebSphere MQWebSphere MQ 提供了连接层和应用程序的可靠集成,为 SOA 提供了所需的基础。WebSphere MQ 的主要特色功能包括:
有保证的消息交付基于可靠队列的消息传递,可确保消息不会丢失或重复。基于标准的开发使用 Java Message Service (JMS) API 和 Message Queue Interface (MQI)。 端到端安全使用安全套接字层(Secure Sockets Layer,SSL)进行身份验证、消息完整性检查和数据加密。Web 服务支持用于保证 Web 服务传输和可靠性的简单对象访问协议(Simple Object Access Protocol,SOAP)。异步处理对应用程序进行分离,以支持进行独立于时间的处理。多平台支持支持 80 种以上的配置。有关 WebSphere MQ 的更多信息,请参见本文结尾的。
安装 WebSphere MQ安装 WebSphere MQ 的过程非常简单——直接将安装包释放到目录中即可(本文使用 root 主目录下的 mq_install)。可以安装 RPM 安装包中的所有内容,但本文仅需要这部分东西。以下是 WebSphere MQ V6 中包括的包和目录:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
IBMJava2-SDK-1.4.2-0.0.i386.rpm
MQSeriesClient-6.0.0-0.i386.rpm
MQSeriesConfig-6.0.0-0.i386.rpm
MQSeriesFTA-6.0.0-0.i386.rpm
MQSeriesIES30-6.0.0-0.i386.rpm
MQSeriesJava-6.0.0-0.i386.rpm
MQSeriesKeyMan-6.0.0-0.i386.rpm
MQSeriesMan-6.0.0-0.i386.rpm
MQSeriesMsg_Zh_CN-6.0.0-0.i386.rpm
MQSeriesMsg_Zh_TW-6.0.0-0.i386.rpm
MQSeriesMsg_de-6.0.0-0.i386.rpm
MQSeriesMsg_es-6.0.0-0.i386.rpm
MQSeriesMsg_fr-6.0.0-0.i386.rpm
MQSeriesMsg_it-6.0.0-0.i386.rpm
MQSeriesMsg_ja-6.0.0-0.i386.rpm
MQSeriesMsg_ko-6.0.0-0.i386.rpm
MQSeriesMsg_pt-6.0.0-0.i386.rpm
MQSeriesRuntime-6.0.0-0.i386.rpm
MQSeriesSDK-6.0.0-0.i386.rpm
MQSeriesSamples-6.0.0-0.i386.rpm
MQSeriesServer-6.0.0-0.i386.rpm
MQSeriesTXClient-6.0.0-0.i386.rpm
PreReqs
READMEs
copyright
gsk7bas-7.0-3.15.i386.rpm
lap
licenses




下面是安装步骤:
WebSphere MQ 现在已经完成安装,并有用于进行配置的名为 mqm 的用户和组。缺省情况下,WebSphere MQ 安装在 /opt/mqm 中,队列和其他配置信息位于用户 mqm 的主目录中。Java SDK 安装在 /opt/IBMJava2-142 中,Java 解释程序位于 /opt/IBMJava2-142/bin 中。
下一步是进行配置。本文为两台计算机使用了具有本地和远程队列的单个队列管理器,用于测试示例应用程序。
配置 WebSphere MQWebSphere MQ 术语和定义
配置过程包括以下几个步骤:
两台 WebSphere MQ 计算机都需要执行这些步骤。下面的部分将仅说明如何在 WMQ1 上进行配置,但在 WMQ2 上也需要进行这些步骤。
创建并启动队列管理器使用 root 登录到 WMQ1,然后键入 su - mqm,以更改到用户 mqm。使用以下命令为 WMQ1 计算机创建队列管理器:
1
mqm@wmq1:~/ # crtmqm WMQ1QM




使用以下命令启动队列管理器。
1
mqm@wmq1:~/ # strmqm WMQ1QM




创建队列和通道使用命令行工具配置 WebSphere MQ。以下给出了 WMQ1 的配置脚本。此脚本定义本地队列、远程队列、传输队列、发送方通道和接收方通道。将以下脚本保存为 WMQ1QM.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
DEFINE QLOCAL ('WMQ1InputQ') +
         REPLACE

DEFINE QLOCAL ('WMQ2QMXmitQ') +
         DESCR('Transmission Queue to WMQ2QM') +
         USAGE(XMITQ) +
         TRIGGER +
         TRIGTYPE(FIRST) +
         TRIGDPTH(1) +
         TRIGDATA('WMQ1QM.WMQ2QM') +
         INITQ('SYSTEM.CHANNEL.INITQ') +
         REPLACE

DEFINE QREMOTE ('WMQ1OutputQ') +
         XMITQ('WMQ2QMXmitQ') +
         RNAME('WMQ2InputQ') +
         RQMNAME('WMQ2QM') +
         REPLACE

DEFINE CHANNEL ('WMQ1QM.WMQ2QM') CHLTYPE(SDR) +
         TRPTYPE(TCP) +
         CONNAME('192.168.28.72(1414)') +
         XMITQ('WMQ2QMXmitQ') +
         REPLACE

DEFINE CHANNEL ('WMQ2QM.WMQ1QM') CHLTYPE(RCVR) +
         TRPTYPE(TCP) +
         REPLACE

DEFINE CHANNEL ('SYSTEM.ADMIN.SVRCONN') CHLTYPE(SVRCONN) +
         TRPTYPE(TCP) +
         DESCR(' ') +
         HBINT(300) +
         MAXMSGL(4194304) +
         MCAUSER('MUSR_MQADMIN') +
         RCVDATA(' ') +
         RCVEXIT(' ') +
         SCYDATA(' ') +
         SCYEXIT(' ') +
         SENDDATA(' ') +
         SENDEXIT(' ') +
         REPLACE




上面的配置脚本可作为其他 WebSphere MQ 安装的模版使用。只需要更改粗体部分的名称,即可在其他 WebSphere MQ 安装中设置队列和通道。此配置脚本中包含大量条目——有关它们的更多信息,请参见 。
使用以下命令创建队列和通道,以配置 WebSphere MQ:
1
mqm@wmq1:~/ # runmqsc WMQ1QM < WMQ1QM.conf > qcreate.log




runmqsc 命令用于发出 WebSphere MQ 命令。在本例中,这些命令从 WMQ1QM.conf 文件读取,而输出被定向到 qcreate.log。打开 qcreate.log,验证其中不存在语法错误,全部有效命令均得到了处理。
启动服务需要启动命令服务器、侦听器和通道,然后就可以进行示例应用程序的部署和测试工作了。
1
2
mqm@wmq1:~/ # strmqcsv WMQ1QM &
mqm@wmq1:~/ # runmqlsr -m WMQ1QM -t TCP &




验证队列管理器和侦听器在两台计算机上运行,然后启动通道:
1
2
mqm@wmq1:~/ # runmqchl -m WMQ1QM -c WMQ1QM.WMQ2QM &
mqm@wmq1:~/ # runmqchl -m WMQ1QM -c WMQ2QM.WMQ1QM &




现在已经安装了 WebSphere MQ,并进行了配置,已准备好可以进行测试了。下面一部分将给出两个基于 Java 的应用程序的源代码,分别用于向队列发送消息和从队列接收消息。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0