2009-05-25 100 views
3

我有一个应用程序使用WebSphere MQ Java API和配置(xml)文件来访问MQ。我想迁移到WebSphere JMS API。为此,我尝试创建 1)WebSphere MQ队列连接工厂和2)来自本地WAS的WebSphere MQ队列目标。当我配置队列目标并尝试设置我的MQ配置参数时,我收到一条错误消息,如“WMSG0316E:您试图查看不是本地队列的队列,只支持本地队列管理。”使用JMS的WebSphere MQ

该消息是在我试图连接到远程队列感觉是正确的。现在,我不能配置我的WAS作为试图连接到远程队列的MQ客户端? MQ客户机在服务器类路径中具有必需的MQ JMS罐子。

如果有人能够对此有所了解,我们将不胜感激。

回答

4

我工作的同样的问题 - 我发现的论文中,作者确认WebSphere有被告知,“客户端远程队列”模式是需要的,但我还没有找到如何做的详细信息除了一位作者提到了一个环境变量之外。

仍在搜索...如果找到一个,我会发布解决方案。

1

我砍&粘贴您的错误信息到谷歌。以其独特的风格,here是您的问题的IBM文档。有帮助,不是吗?

你在哪里设置你试图联系队列?它是否与您部署的WebSphere实例在同一台服务器上运行,还是它是远程服务器?如果是后者,我想知道您是否需要桥接器或代理,以便您可以在本地发送消息,但通过代理将其显示在远程服务器上。

更新:我不知道,但也许让一个办法解决,这是建立一个本地队列,类似你说的是什么工作,并把它简单地转发到远程队列中的所有消息。

+0

MQ正在远程服务器中运行。这是我卡住的地方 - “..出现在本地发送消息..” 我曾尝试在同一个系统上安装MQ 6和WAS,并且JMS工作正常。但是,当MQ在远程系统中时,我的IP地址在配置JMS资源时指定,我得到这个异常。 – Subramanian 2009-05-25 12:59:34

1

你能澄清一些东西吗?你说你从本地WAS'创建'连接工厂和队列目的地。你的意思是你自己在建造物体吗?

如果是这样,这是错误的做法,你应该为你的应用程序配置的一部分,配置资源,然后进行查找,然后通过JNDI。该配置是本地JMS资源绑定到实际实现的位置,在您的情况下是远程MQ服务器。你的代码只能绑定到JMS,而不是具体的实现。

+0

我正在配置WebSphere JMS资源,即WAS中的MQ队列ConnectionFactory和MQ队列目的地。该代码只与JMS绑定,而不是绑定到实现 - 这是进行此更改的目的。我不是自己构建对象。 对不起,措辞 - '创造' - 如果这造成了一些混淆。 – Subramanian 2009-05-25 14:12:51

+0

@Subramanian - 引用JMS资源时,问题更多的是由于您对MQ的使用。 (即MQ队列连接工厂而不是队列连接工厂)。我以为你可能一直在引用MQ特定的工件而不是JMS。 – Robin 2009-05-25 15:25:22