在通道停止或重试状态期间,如何通过队列管理器发送到队列 SYSTEM.CHANNEL.EVENT.QUEUE 的事件消息来识别通道类型(发送方或接收方)?
我正在使用 PCFMessage 类阅读它。
事件消息包含通道名称但不包含类型。(有关详细信息,请参阅信息中心中的频道和桥接事件主题。)
我的方法是,当我的监控程序启动时,我会发出一条 PCF 消息来显示所有通道名称及其类型,然后将这些信息存储在一个表中。(PCF 等效于DIS CHL(*) CHLTYPE
。)然后当通道事件到达时,将通道名称与表条目匹配以检索通道类型。当然可以缓存任意数量的静态通道属性,例如CONNAME
、MCAUSER
等,您可以在 PCF 命令中请求任意数量的通道属性。
如果一个事件出现在一个不在表中的通道上,您总是可以发出一个新的 PCF 命令来即时查找新通道,然后将属性添加到您在程序启动时构建的缓存中。希望您的 QMgr 不会像经常定义新频道那样不稳定,以至于这将成为一个问题。但是,如果是这种情况,您可以启用配置事件,然后在定义新通道时通知您。