Ibm mq MQPUT失败:在多线程环境中启用AMS时2035

Ibm mq MQPUT失败:在多线程环境中启用AMS时2035,ibm-mq,mq,websphere-mq-ams,Ibm Mq,Mq,Websphere Mq Ams,我试图在IBMMQ中使用AMS功能。在启用AMS并为特定队列设置策略后,我尝试在应用程序的主线程中使用MQPUT将消息放入队列,结果成功 之后,我尝试在创建的一个单独的工作线程(posix线程)中提供MQCONN和MQPUT library命令,而系统总是失败,因为该特定队列的错误代码为2035 我们不能使用多线程的AMS设备吗?为使其正常工作,需要进行哪些设置或更改 (我们的IBMMQ版本是7.5/unix readhat/client模式)在多线程应用程序中,运行该应用程序的用户ID仍然是相

我试图在IBMMQ中使用AMS功能。在启用AMS并为特定队列设置策略后,我尝试在应用程序的主线程中使用MQPUT将消息放入队列,结果成功

之后,我尝试在创建的一个单独的工作线程(posix线程)中提供MQCONN和MQPUT library命令,而系统总是失败,因为该特定队列的错误代码为2035

我们不能使用多线程的AMS设备吗?为使其正常工作,需要进行哪些设置或更改


(我们的IBMMQ版本是7.5/unix readhat/client模式)

在多线程应用程序中,运行该应用程序的用户ID仍然是相同的用户,因此应该是相同的设置。但是,AMQERR01.LOG将准确地显示安全错误的实际情况。

是的,用户ID应该是这样的,并且不应该更改。但问题是,在IBMMQ中,它不是这样工作的。下面是应用程序的输出(在两个主线程和工作线程中使用amqsputc)///main thread///On-Proc在MainApp上运行用户is->dev50示例AMQSPUT0开始目标队列是T.OUTQUEUE Hello World!!amqsput successful///Worker thread///On-Proc在AppWorkerThread上运行用户is->dev50示例AMQSPUT0开始目标队列为T.OUTQUEUE MQOPEN-end,原因代码为2035无法打开输出示例AMQSPUT0-end的队列/var/mqm中的任何位置都没有打印与错误2035相关的错误日志。最后几个错误是什么在应用程序中收到2035返回代码后,是否在队列管理器AMQERR01.LOG中?