在 IBM MQ classes for Java 中使用一系列通道发送或接收出口
IBM® MQ classes for Java 应用程序可以使用连续运行的一系列通道发送或接收出口。
为使用发送出口序列,应用程序可以创建包含发送出口的列表或字符串。 如果使用了列表,那么列表中的每个元素都可以是以下任意项:
- 实现 WMQSendExit 接口的用户定义类的实例
- 实现 MQSendExit 接口的用户定义类的实例 (对于以 Java 编写的发送出口)
- MQExternalSendExit类的实例(用于非Java编写的发送出口)
- MQSendExitChain 类实例
- 字符串类实例
应用程序可以通过类似的方式使用接收出口序列。
如果使用字符串,那么它必须由一个或多个以逗号分隔的出口定义组成,每个出口定义可以是 Java 类的名称,也可以是格式为 library(function)的 C 程序。
应用程序之后会向 MQEnvironment.channelSendExit 字段分配列表或字符串对象,然后创建 MQQueueManager 对象。
传递给出口的信息上下文仅存在于出口域中。 例如,如果链接了 Java 出口和 C 出口,那么 Java 出口的存在对 C 出口没有影响。
使用出口链类
在 IBM WebSphere® MQ 7.0之前的版本中,提供了两个类以允许出口序列:
- MQSendExitChain,实现 MQSendExit 接口
- MQReceiveExitChain,实现 MQReceiveExit 接口
为使用发送出口序列,应用程序创建了对象列表,其中每个对象都是以下项之一:
- 实现 MQSendExit 接口的用户定义类的实例 (对于以 Java 编写的发送出口)
- MQExternalSendExit类的实例(用于非Java编写的发送出口)
- MQSendExitChain 类实例