无法使用默认应用程序用户创建临时队列

Cannot create temporary queue with default app user

我是 MQ 的新手,我使用默认设置 docker image。 我需要通过 java 应用程序(但没有 websphere)进行连接。

我使用 app 用户。这个可以毫无问题地连接到“DEV.APP.SVRCONN”通道,但我需要创建一个临时队列(以便获得响应)并且无法创建它并出现以下错误:

JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'

此错误的原因:

com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED').

我检查了 MQ 管理器,“SYSTEM.DEFAULT.MODEL.QUEUE”不存在,我需要创建它吗?

根据 Default developer configurationmqclient 组中的用户(这将是您正在使用的组)已被授予访问以 DEV.** 开头的所有队列和主题的权限,并且具有 putgetpubsubbrowseinq 权限。

您正在尝试使用不以 DEV.** 开头的队列,因此您首先需要为 mqclient 组中的用户设置适当的权限才能执行此操作。他们还需要 dsp 权限才能从模型创建临时队列。

SET AUTHREC GROUP('mqclient') OBJTYPE(QUEUE) PROFILE(SYSTEM.DEFAULT.MODEL.QUEUE)    AUTHADD(GET,PUT,DSP)