203
7
用Java编程
本章介绍如何利用 MQSeries classes for Java 编程。并且将为那些希望编写与 MQSeries
相连接的 Java 应用程序或小程序的程序员提供所需的信息。
204
7.1 概述
MQSeries for Java 允许以 Java 编程语言写成的程序访问 MQSeries 对象。MQSeries Java
API 提供放置消息到 MQSeries 队列以及从 MQSeries 队列获取消息的方法。
7.2 平台
MQSeries classes for Java 产品可用于以下平台:
AIX
iSeries 和 OS/400
HP-UX
Linux
Sun Solaris
z/OS 和 OS/390 V2R9 或更高版本
Windows 平台
它包括:
MQSeries classes for Java (MQSeries base Java) 版本 5.2.0
MQSeries classes for Java Message Service (MQSeries JMS) 版本 5.2
7.2.1 获得软件包
MQSeries classes for Java 以压缩文件的形式提供,您可以从 MQSeries 网站获得它:
http://www-4.ibm.com/software/ts/mqseries/txppacs/txpsumm.html
其文件作为 SupportPac MA88 的一部分提供。
MQSeries base Java 由以下 Java.jar 文件组成:
com.ibm.mq.jar 该代码包括对所有连接选项的支持。
com.ibm.mq.iiop.jar 该代码仅支持 VisiBroker 连接。
com.ibm.mqbind.jar 该代码仅支持捆绑式连接,某些平台不提供或不支持它。
205
对 z/OS 和 OS/390 而言,还提供另外一个单独的 SupportPac MA1G。MA1G 和 MA88
的区别在于 MA88 不支持 CICS,而 MA1G 则支持。
7.2.2 运行MQSeries classes for Java
为了运行 MQSeries classes for Java,要求满足以下的软件环境:
针对您希望使用的服务器平台的 MQSeries;
针对服务器平台的 Java Development Kit(JDK);
针对客户端平台的 Java Development Kit 或 Java Runtime Environment(JRE)或支
持 Java 的网络浏览器;
VisiBroker for Java(仅适用于运行在有 VisiBroker 连接的 Windows 的情况);
z/OS 和 OS/390、OS/390 Version2 Release 9 或更高,或带有 UNIX 系统服务的 z/OS;
OS/400、AS/400 Java Development Kit(5769-JV1)和 Qshell 翻译程序、OS/400
(5769-SS1)Option 30。
安装目录
表 7-1 是安装目录列表。
表
7-1
安装目录
平台 目录
AIX usr/mqm/java
z/OS 和 OS/390
install_dir/mqm/java
iSeries 和 OS/400
/QIBM/ProdData/mqm/java/
HP-UX 和 Sun Solaris
opt/mqm/java/
Linux install_dir/mqm/java/
Windows 95, 98, 2000 和 NT
install_dir\
提示:install_dir 是产品安装的目录。在 Linux 系统中,它可能是/opt,而在 z/OS 和 OS/390
系统上,它可能却是/usr/lpp。
206
环境变量
表 7-2 列出了每个平台所需的环境变量。
表
7-2
环境变量
平台 类路径样例
AIX
CLASSPATH =
/usr/mqm/java/lib/com.ibm.mq.jar:
/usr/mqm/java/lib/connector.jar:
/usr/mqm/java/lib:
/usr/mqm/java/samples/base:
HP-UX 和 Sun Solaris
CLASSPATH=
/opt/mqm/java/lib/com.ibm.mq.jar:
/opt/mqm/java/lib/connector.jar:
/opt/mqm/java/lib:
/opt/mqm/java/samples/base:
Windows95,98,2000 和 NT
CLASSPATH=
install_dir\lib\com.ibm.mq.jar;
install_dir\lib\com.ibm.mq.iiop.jar;
install_dir\lib\connector.jar;
install_dir\lib\;
install_dir\samples\base\;
Z/OS 和 O/390
CLASSPATH=
install_dir/mqm/java/lib/com.ibm.mq.jar:
install_dir/mqm/java/lib/connector.jar:
install_dir/mqm/java/lib:
install_dir/mqm/java/samples/base:
iSeries 和 OS/400
CLASSPATH=
/QIBM/ProdData/mqm/java/lib/com.ibm.mq.jar:
/QIBM/ProdData/mqm/java/lib/connector.jar:
/QIBM/ProdData/mqm/java/lib:
/QIBM/ProdData/mqm/java/samples/base:
Linux CLASSPATH=
install_dir/mqm/java/lib/com.ibm.mq.jar:
install_dir/mqm/java/lib/connector.jar:
install_dir/mqm/java/lib:
install_dir/mqm/java/samples/base:
欲了解特定平台的实际安装指令,请参见《MQSeries 利用 Java》编号:SC34-5456。如
果软件还未安装并进入操作状态,那么该书会非常重要,因为它包含了非常具体的环境
变量信息。
207
7.3 使用MQSeries classes for Java
连接到 MQSeries 队列管理器后,应用程序就可以与 MQSeries 对象(如 MQSeries 队列)
发生互动。队列管理器为其拥有的 MQSeries 对象提供消息发送服务。
与队列管理器建立连接时,有两种连接模式可用。您编程的方法取决于您所选择的连接
模式。现在,就让我们先来看看这两种连接模式:捆绑模式和客户机连接模式。
7.3.1 连接模式
图 7-1 显示了 MQSeries JMS 中可用的连接模式。
图
7-1
连接模式
捆绑模式
在捆绑模式(也称作服务器连接模式)中,到队列管理器的通讯利用的是进程间通讯。
关键因素之一就是,要记住捆绑模式只适用于那些运行在作为队列管理器主机的
MQSeries 服务器上的程序。利用捆绑模式的程序不会从 MQSeries 客户机机器上运行。
换言之,应用程序被捆绑在队列管理器所在的同一台机器上。
捆绑模式是与 MQSeries 进行互动的一种快速而高效的方法。某些功能(如队列管理器
的扩展架构事务处理协同)只在捆绑模式下才可用。