0

我确实在队列管理器错误日志中看到以下日志: AMQ9557: 'msgw' 的队列管理器用户 ID 初始化失败 说明: 初始化用户 ID 'msgw' 的调用失败,CompCode 2 和原因 2035。如果使用了 MQCSP 块, MQCSP 块中的用户 ID 为“”。操作:更正错误并重试。

在 QA 环境中进行了相同的设置,但日志中没有此类错误。请指教。

我在 rhel7 上安装了 MQ 版本 8:3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 15 17:36:42 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 当应用程序尝试连接时,他们正在获取 MQRC 2538. 当我检查我的日志时,我看到了上述错误。所有权限都存在于队列管理器和队列级别。

应用程序应该能够连接到队列管理器,而队列管理器日志中没有任何错误

4

1 回答 1

-2

错误代码通常意味着已创建队列管理器以使用对象权限管理器 (OAM)。默认情况下,队列管理器以这种方式创建,并将尝试根据运行 MQ 服务器的节点上的凭据对每个用户进行身份验证。

在用户可以执行我们的应用程序之前,我们有其他身份验证方法,因此我们不希望任何连接用户根据运行 MQ 服务器的操作系统凭据进行身份验证。因此我们导出这个环境变量:

导出 MQSNOAUT=是

就在发出“crtmqm”命令创建队列管理器之前。

如果在启用 OAM 的情况下创建了队列管理器,您将在 qm.ini 文件中看到这些条目:

Service:
    Name=AuthorizationService
    EntryPoints=14 
ServiceComponent:
    Service=AuthorizationService
    Name=MQSeries.UNIX.auth.service
    Module=amqzfu
    ComponentDataSize=0

如果这些条目不存在,那么队列管理器是在禁用 OAM 的情况下创建的。

于 2019-05-28T15:36:33.047 回答