如何调用与不同用户的队列管理器连接?

时间:2014-03-04 22:28:31

标签: java ibm-mq

我正在执行一个程序,可以使用java访问MQ队列管理器。程序可以工作,但是当我在服务器中运行.jar时,它无法访问MQ。我问管理员,它告诉我.jar正在与用户mqm一起运行。还有另一个用户可以运行它。如何运行jar以便在其他用户下运行?或者我必须在代码中更改某些内容吗?

3 个答案:

答案 0 :(得分:4)

在频道的MCAUSER字段中设置UserID意味着在频道上连接的EVERYBODY将使用该特定用户ID。

就像参加一个会议一样,每个人都会得到同样的会议徽章,上面写着“乔”的名字。不是真的有用或安全。为什么两者都有。

答案 1 :(得分:1)

应用程序如何连接到MQ?它是否与WMQ在同一服务器上运行并在本地连接(在绑定模式下)?您可以将应用程序作为非mqm用户运行,并授权该用户连接到WMQ队列管理器和相关队列(put或get)。 如果它在不同的服务器上运行,则必须通过服务器连接通道进行连接。最简单的方法是在该通道上设置用户ID(MCAUSER),并为队列管理器上的该用户/组授予连接权限,并对队列赋予/获取权限。

答案 2 :(得分:0)

首先,回答@nsupath的最后一个问题,似乎有一个问题。有一个用户不应该拥有权限。首先,更新用户注册表,然后修改整个代码(损害-_-)以使其接受用户作为属性,我终于设法使其连接。

虽然可能存在一些问题。可能它没有刷新权限,或者其他东西。管理员和我一样困惑。无论如何,问题解决了。谢谢=)