问题标签 [pymqi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
70 浏览

python - pymqi correlId 长度

我使用 pymqi,版本 1.12.0

我试图将带有 correlId 的 msg 放入队列中,当我取回 msg 时,我只收到了 correlId 的一部分(前 24 个字符)。我看到CMQC下定义的correlId的长度:MQ_CORREL_ID_LENGTH=24

如何更改默认长度以使其适合不同的 correlIds 长度?

0 投票
0 回答
94 浏览

docker - Docker 中的 MQClient

我有一个 Windows grp 并向该 grp 添加了一个用户以连接到 MQ。我在我的 python 代码中使用这个用户(下面代码中的用户 ID)连接到远程 MQServer。

Docker 文件使用 ubuntu 镜像作为基础镜像。谁能告诉我带有ubuntu图像和pymqi的docker文件是否可以在python代码中使用Windows用户连接到远程MQServer,如下所示?如果我在 Dockerfile 中设置 user-1001,我会收到以下错误。MQ 服务器不是 Docker 映像的一部分。pymqi.MQMIError:MQI 错误。比较:2,原因 2009:失败:MQRC_CONNECTION_BROKEN

如果我不在 Dockerfile 中使用 USER 1001(虚拟用户),我会收到 AUTHORIZATION 错误。

任何帮助都会对我有很大帮助。感谢你的帮助。附件是dockerfile,下面是代码。

0 投票
0 回答
130 浏览

python-3.x - 提交时的 MQRC_ENVIRONMENT_ERROR

我在尝试使用 pymqi 向 IBM MQ 发送消息时遇到问题。我正在做的一个项目

  • 从 DB2 读取
  • 准备数据WorkerProcess
  • WorkerProcess根据该数据做出一些决定并向 MQ 发送消息

WorkerProcess尝试为 MQ 提交消息时,我收到一个错误:

代码和堆栈跟踪是手动输入的,可能包含拼写错误。

波纹管代码是我正在做的伪代码。

非常感谢任何帮助和/或建议。

主要.py:

worker_process.py

mq_service.py

编辑: 附加信息:

  • 我正在运行 IBM MQ 客户端版本 9.1.0.1。

  • 文件中没有错误AMQERR0*.LOG

  • LD_LIBRARY_PATH 已设置

  • 重构代码时出现此错误。

以下是正在运行的代码(重构之前)

为了简洁和可读性,函数签名中的一些参数被替换为 (args ) *

主要.py:

mq_service.py

0 投票
0 回答
38 浏览

python-3.x - 使用 Pyinsaller 创建 exe 后如何修复错误?

创建文件exe后,显示以下错误。

此问题可能与 TCP/IP 协议有关。

我不太明白错误是什么。

尽管在 PyCharm 中一切正常,但我输入的所有数据都可以正常工作,脚本也可以正常工作。我的代码:

0 投票
1 回答
38 浏览

python-3.x - 将 pymqi 更改为绑定模式

我已使用以下pymqi方式在 Windows 10 上安装pip:-

我现在明白,这锁定了pymqi使用mqic库的界面,而不是mqm. 根据this thread from 2018,默认设置将更改为使用mqm库,但似乎尚未完成。

相同的线程建议您可以pymqi通过运行以下命令将已安装的更改为自己使用绑定模式,安装后:-

麻烦的是,我不知道它放在哪里,setup.py所以我可以做到这一点。我的 C:\Python38\Lib\site-packages\pymqi* 目录中似乎没有这样的文件。

如果我再次卸载它并重新运行pip install命令,我可以告诉它使用绑定模式吗?

0 投票
0 回答
153 浏览

python - PYMQI 与 IBM MQ 客户端 Docker 容器

在安装pymqi. 但是我看到我的 docker 图像大小变得像 4GB 一样大。有没有办法找到未使用的文件并删除?此外,是否有任何更轻量版本的 IBM MQ 客户端可用,它使用python and pymqi

这是参考dockerfile

0 投票
1 回答
51 浏览

python - QueueManager.close() 使用 pymqi

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

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

0 投票
0 回答
270 浏览

macos - 在平面命名空间“_MQBACK”中找不到符号(Python3.9 - MacOS 12.1 Silicon)

在 MacOS M1 Pro 12.1 Monterey 中安装pymqi,在 virtualenv 中安装 Python 3.9.9,通常的嫌疑人再次出现:

所有路径都已就位/opt/mqm/bin:/opt/mqm/samp/bin,Python 会看到 env 变量os.environ['DYLD_LIBRARY_PATH']=='/opt/mqm/lib64'

使用 --verbose 标志重新安装 pymqi 后,出现以下警告:

可能是在 M1 Pro Silicon 平台的平面命名空间“_MQBACK”中找不到异常符号的根本原因?它说ibmqic_r.dylib被忽略。

为 macOS-arm64 构建的新版 MacOS Toolkit 会解决这个问题吗?

另一种选择 - 从理论上讲 - 可能是按照本文中的建议使用 Rosetta 2 运行 macOS-x86_64 的构建,我不知道该怎么做。

任何帮助将不胜感激。

0 投票
0 回答
51 浏览

ibm-mq - 获取呼叫显示 MQ 消息与其他几个字符

我正在编写简单的程序来从 MQ 中读取消息,但除了消息之外还需要查看更多其他字符。消息以“b”为前缀,并出现在引号内。

例如:MQ 中的消息是:

将其写入文件后读取为:

你能告诉我为什么会这样吗?是否需要任何字符转换?(我为了测试目的而插入 MQ 的任何示例消息都会发生这种情况。)

下面是代码片段:

0 投票
0 回答
29 浏览

python - How to get Message Id in Py-MQI

I want to see Message ID (MsgId) of a MQ message while doing a MQ GET call through Py-MQI. Below is my code but , I am not able to see the Message ID.