问题标签 [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 投票
0 回答
111 浏览

c# - C# XMS 中等效的 MQI 连接字符串

当使用基于 MQI 的任何语言绑定时,可以定义具有多个主机/端口的连接字符串,MQI 客户端层将尝试依次连接每个,返回第一个连接。

例如。在 Python 中,这看起来像,请原谅硬编码的值:

C# XMS 中是否有等效机制。我有

有没有办法将第二个主机/端口作为属性添加到连接尝试中?

0 投票
0 回答
188 浏览

python-3.x - 无法连接到 pymqi windows 64bit - 连接中断

使用库 pymqi 连接到 IBM MQ 时出现以下错误。

它是一个集群 MQ 通道

请在下面查看我的代码。

在下面的行中出现错误

0 投票
0 回答
696 浏览

python-3.x - 无法连接到面临失败的 PYMQI 客户端:MQRC_ENVIRONMENT_ERROR

使用库 pymqi 连接到 IBM MQ 时出现以下错误。

它是一个集群 MQ 通道

请在下面查看我的代码。

在下面的行中出现错误

将 IBM 客户端也添加到脚本文件夹,使用 Windows 10、Python 3.8.1 和 IBM Client 9.1 Windows 客户端安装映像,下面是标题

0 投票
1 回答
485 浏览

python - ImportError:导入pymqe时DLL加载失败:找不到指定的模块

我正在尝试在 python 上设置 Websphere MQ 客户端和 PYMQI 以通过队列发送/接收消息。

环境变量也已自动设置。

我已经安装了 IBM MQ CLient V8.0.11,期间没有问题。

然后,我继续安装(pip install pymqi),这似乎也是文件。

当我尝试使用 Pycharm 运行它时,出现以下错误

在此处输入图像描述

0 投票
0 回答
389 浏览

ibm-mq - PyMQI 持久性较差的消费性能

我正在测试 IBM MQ 的性能(在本地 docker 容器中运行最新版本)我使用持久队列。

在生产者方面,我可以通过并行运行多个生产应用程序来获得更高的吞吐量。

但是,在消费者方面,我无法通过并行化消费者进程来增加吞吐量。相反,多个消费者的吞吐量甚至比单个消费者的吞吐量还要差。

消费表现不佳的原因可能是什么?

这不应该是由于硬件限制,因为我将消耗与生产进行比较,并且我只做了消息消耗而没有任何其他处理。

GET 是否为每条消息执行提交?不过,我在 PyMQI 中没有找到任何明确的提交方法。

put_demo.py

get_demo.py

run results

get_demo.py updated version using syncpoint and batch commit

谢谢。

0 投票
0 回答
87 浏览

python-3.x - 如何为 Python3 编译 pymqe.c?

我设法使用 VC 2017 编译器和我自己的 make 文件将模块处理为 Python2 pymqe.cpymqe.pyd不幸的是,它不适用于 Python3。如果我尝试以相同的方式编译模块pymqe.cpymqi-1.9.3.tar.gz则链接步骤将失败并显示错误消息:

我的 make 文件包含以下将 pymqe.c 与生成的库链接的指令pymqe.pyd

我假设,由于模块源代码中的预编译器指令,函数 initpymqe 在 Python3 的编译过程中被排除在外pymqe.c

有谁知道,如何处理这个问题?

0 投票
1 回答
586 浏览

python-3.x - 无法通过 python 3 的 pymqi 版本使用 SSL 连接到公共队列

我已经设法使用以下 python 代码与 Python2 的旧 pymqi 版本建立了与公共队列的连接:

不幸的是,此代码不适用于 Python 3 的 pymqi 版本 1.9.3。在这种情况下,我收到以下错误消息:

我必须将此代码中的所有字符串转换为字节,因为程序要求所有字符串为字节。例子:

queue_manager = b'QM1'


在您所说的评论中,您在AMQERR01.LOG文件中发现了以下错误:

0 投票
2 回答
352 浏览

python - PY3MQI。AMQ9627 使用 sco.CertificateLabel 和 os 用户与证书标签用户不匹配时

原始问题:https ://github.com/dsuch/pymqi/issues/181

你好!

我的 MQ 客户端版本是 9.0.0.3-IBM-MQC-LinuxX64 应用程序在容器中工作,编排是 Openshift 3.0。

Cert reqs 由以下命令创建:

我的应用程序的部分代码:

来自容器的 Whoaim:

当我尝试连接时,出现以下 python 错误:

在 /var/mqm/errors/*log 我有:

你能解释一下我的错误在哪里吗?我还尝试更改 sco.CertificateLabel为“od99usr”删除并添加cd.CertificateLabel 但得到相同的错误=(

编辑:

0 投票
1 回答
793 浏览

python - 使用 PYMQI 和 Correlation ID 的 IBM 消息队列

我最近继承了一个测试框架,使用 PYMQI 将消息放在 IBM Websphere Queue 上。我通过这个链接修复了我需要的大部分代码

https://dsuch.github.io/pymqi/examples.html#how-to-correlate-request-and-response-messages-using-correlationid

唯一悬而未决的问题是相关 ID 的格式。我尝试了很多选项,但 MQ 正在将相关 ID 转换为字节数组(似乎是 IBM MQ 默认设置),然后再将其扔到 Q 上。我所有的下游系统都在寻找 HEX 值并且正在中断。

我被困在这几天了。有没有办法在消息属性中强制关联 ID?

请告诉我

问候阿拉文德

@JoshMc 非常感谢您的回复。这是专有代码,很难粘贴整个内容,但这是相关的部分。下游系统正在查看此 JMS 相关 ID 以增加并放回队列中。当我通过下面的代码发送它时,它命中队列被转换为字节数组,但是下游系统读取验证失败。我希望它作为十六进制值进入队列,因为它应该是我传递的确切值而不是字节数组。

当我将消息放入队列时,它会成功发布,但不会被下游系统处理:

在下面的屏幕截图中,队列中的第一条消息是使用应用程序 JMSToolBox 发布的,该应用程序具有下游系统预期的相关性。 第二条消息是使用 pymqi 发布的——它的相关 ID 显示 ID:'hex 格式'。 还有 JMSDestination 显示为空。

在上面的屏幕截图中,队列中的第一条消息是使用应用程序 JMSToolBox 发布的,该应用程序具有下游系统所期望的相关 ID。第二条消息是使用机器人框架/pymqi 发布的 - 其相关 ID 显示为 ID:30303 ..... 另请注意,第二条消息的 JMSDestination 显示为空。(对于手动发布的第一条消息,作为 'JMSDestination: queue:///QueueName'

现在我有两个问题 - CorrelationId 没有像我预期的那样出现,JMSDestination:null。我不确定如何使用 pymqi 库设置目标(或者这是在 Q-Manager 级别设置的)任何帮助都非常感谢。

JMSToolBox 发送消息截图: 在此处输入图像描述

使用robotframework-pymqi发送的消息截图: 在此处输入图像描述

我现在在两条消息中发现的唯一区别是 JMSHeader 中的 JMSDestination:Null 用于使用 Pymqi 发送的消息。我还尝试更改队列的 PROPCTL 设置,但没有帮助。

有没有我可以使用 pymqi 发送 java 属性?

0 投票
0 回答
918 浏览

python-3.x - Docker 用 pymqi 组成 IBM MQ

我想使用 docker-compose 在服务器上启动IBM MQ serverPython "pymqi" client连接。

为此,我编写了三个 Docker 容器cpythonpymqiapplication.
application是基于pymqi自身的cpython(以分离关注点)。

我不断得到pymqi.MQMIError: MQI Error. Comp: 2, Reason 2195: FAILED: MQRC_UNEXPECTED_ERROR

我已经调查过/var/mqm/qmgrs/QM1/errors//var/mqm/errors/T.Rob所建议的)我认为pymqi容器中有问题但找不到什么。最令人沮丧的部分是Docker 客户端示例就像一个魅力!

下面使用的源代码(我的仓库中提供沙箱)

cpythonDockerfile


pymqiDockerfile


applicationDockerfile(文件名dockerfile.ibm_mq_client:)


mqclient.py代码


docker-compose.yml配置文件