0

我们开始使用 pymqi 而不是 java 实现。在 java 中,我们可以选择“QueueManager.close()”。

有没有使用 pymqi 关闭队列管理器的选项?我看到在 __del __ 函数中我们关闭队列管理器然后调用断开连接,如果我只想关闭而不断开连接怎么办?(另外,我不想将 disconnect_on_exit 设置为 False,只想有一个选项只调用关闭)

4

1 回答 1

1

您认为在 qmgr 上调用 Close 意味着什么?实际上并没有定义任何这样的操作。

在 MQI 中,唯一需要 MQCLOSE 对象的时间是在 MQOPENed 对象之后。在 qmgr 对象上使用 MQOPEN 唯一有用的事情就是针对它执行 MQINQ。此包装器中没有定义 QueueManager.open() 函数。

在 pymqi 实现中,看起来 QueueManager.inquire() 函数在内部为 qmgr 对象执行 MQOPEN 并存储生成的 hObj,然后在断开连接过程中执行相应的 MQCLOSE。所以这就是为什么它不需要暴露。

于 2021-08-10T14:33:40.253 回答