You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM MQ C++应用调用MQCB注册异步回调时返回2012(MQRC_ENVIRONMENT_ERROR)错误的问题求助

IBM MQ C++应用调用MQCB注册异步回调时返回2012(MQRC_ENVIRONMENT_ERROR)错误的问题求助

各位大佬好,我现在在IBM MQ异步消息接收的问题上卡壳了,想请大家帮忙分析下:

我目前在Linux环境下,用的是IBM MQ 9.3.0.16版本的可重分发库,要给C++应用和队列管理器搭建通信通道,核心需求是异步从队列获取消息。之前用同步的get()调用(在while循环里阻塞式读取),性能和速度都跟不上,所以必须换成异步方案。

我查了MQ的C++类文档,发现没有直接支持异步读取或者定义回调的方法,后来找到了用C语言接口实现异步的路子,还找到了一个现成的工具代码来做这件事。代码编译是过了,但运行的时候,调用MQCB()注册回调函数这一步直接失败,返回的原因码是2012(也就是MQRC_ENVIRONMENT_ERROR)。

根据工具的说明和我之前查的内容,有人建议把队列管理器的Shared Connections参数改成10,我已经照着改了,但问题还是没解决。

有没有人遇到过类似的情况?或者知道这个2012错误在MQCB调用的场景下,除了共享连接数的配置,还有哪些可能的触发原因?比如是不是我的环境配置、连接方式、或者API调用的参数有遗漏的地方?

备注:内容来源于stack exchange,提问作者Ubaid Ashraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 12:44:35