配置 IBM MQ classes for JMS 以使用通道出口
IBM® MQ classes for JMS 应用程序可以在应用程序连接到队列管理器时启动的 MQI 通道上使用通道安全性,发送和接收出口。 应用程序可以使用以 Java、C 或 C++ 编写的出口。应用程序还可以使用连续运行的发送或接收出口序列。
- 用于实现以 Java编写的发送出口的 WMQSendExit 接口的类的名称。
- 用于以 C 或 C++ 编写的发送出口的字符串,格式为 libraryName (entryPointName)。
- MQConnectionFactory 对象的 RECEXIT 属性。
- IBM MQ 资源适配器用于入站通信的激活规范上的 receiveexit 属性。
- IBM MQ 资源适配器用于输出通信的 ConnectionFactory 对象上的 receiveexit 属性。
- MQConnectionFactory 对象的 SECEXIT 属性。
- IBM MQ 资源适配器用于入站通信的激活规范上的 securityexit 属性。
- IBM MQ 资源适配器用于输出通信的 ConnectionFactory 对象上的 securityexit 属性。
对于 MQConnectionFactories, ,您可以使用 IBM MQ JMS 管理工具或 IBM MQ Explorer 设置 SENDEXIT 、 RECEXIT 和 SECEXIT 属性。 或者,应用程序可通过调用 setSendExit()、setReceiveExit() 和 setSecurityExit() 方法来设置属性。
- 由属性 com.ibm.mq.cfg.ClientExitPath.JavaExitsClasspath 或 IBM MQ 客户机配置文件的 Channels 节中的 JavaExitsClassPath 属性指定的类路径。
由 Java 系统属性 com.ibm.mq.exitClasspath指定的类路径。 请注意,现在已不推荐使用此属性。- IBM MQ 出口目录,如 表 1中所示。 类装入器首先在目录中搜索未打包在 Java 归档 (JAR) 文件中的类文件。 如果找不到通道出口,那么类装入器会在目录中搜索 JAR 文件。
表 1. IBM MQ 出口目录 平台 目录 ![[AIX]](ngaix.gif)
AIX® and Linux®/var/mqm/exits (32 位通道出口)
/var/mqm/exits64 (64 位通道出口)
Windowsinstall_data_dir\exit 其中 install_data_dir 是您在安装期间为 IBM MQ 数据文件选择的目录。 默认目录为 C:\ProgramData\IBM\MQ。
类装入器的父代是用于装入 IBM MQ classes for JMS的类装入器。 因此,如果在以上所有位置中都找不到通道出口,那么父类装入器可能会装入通道出口。 但是,在诸如 JEE 应用程序服务器之类的环境中使用 IBM MQ classes for JMS 时,您可能无法影响父类装入器的选择,因此应通过在应用程序服务器上设置 Java 系统属性 com.ibm.mq.cfg.ClientExitPath.JavaExitsClasspath 来配置类装入器。
如果应用程序正在启用 Java security manager 的情况下运行,那么运行应用程序的 Java 运行时环境所使用的策略配置文件必须具有装入通道出口类的许可权。 有关如何执行此操作的信息,请参阅 在 Java Security Manager 下运行 JMS 应用程序的 IBM MQ 类。
版本低于 IBM WebSphere® MQ 7.0 的 MQSendExit, MQReceiveExit和 MQSecurityExit 接口仍受支持。 如果使用用于实现这些接口的通道出口,那么 com.ibm.mq.jar 必须存在于类路径中。
如果应用程序使用客户机通道定义表 (CCDT) 来连接到队列管理器,请参阅 将客户机通道定义表与 IBM MQ classes for JMS 配合使用。