3

我正在尝试使用 进行配置HermesJMS v1.14WebSphereMQ v8.0但我不能。我看过几个教程,我也跟着他们,虽然没有一个完全是这些版本。

这就是我所做的。我已经下载了这个试用版MQ V8.0 Trial for Multiplatform Multilingual eAssembly。我已经按照这些说明http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.ins.doc/q008640_.htm?lang=en安装了它。

然后,我打开 HermesJMS 并将提供程序设置为 demo_mq.html 的第一部分(删除了过时的链接),但库是:

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.jar
  • com.ibm.mqjms.jar
  • com.ibm.mq.pcf.jar

然后我点击Scan,这很重要,因为这一步应该是加载所有jar的类,我们后面要用到。

然后我使用刚刚配置的加载器创建会话,当您更改加载器时,与类的组合应该使用连接工厂刷新,特别是我必须使用com.ibm.mq.jms.MQQueueConnectionFactory,但它没有出现,看起来像上一步扫描不起作用。

我查看了罐子,我知道课程MQQueueConnectionFactory在里面com.ibm.mq.jar

那么,有没有我忘记的步骤?我需要其他库吗?

不要犹豫,询问更多信息。

提前致谢。

更新:

根据 T.Rob 答案添加更多信息

您没有提到应用了 Fix Pack。8.0.0.1-3 中有许多 Java 修复程序可能会使您的设置更有趣并且您希望避免这些修复程序。

是的,我用过,我忘了说,对不起。

同页还解释了 setmqjmsenv 程序可用于设置环境

这个我没提,我setmqenv以前是配置PATH环境变量的。

第一个问题的解决方案:

我已经解决了它,但我认为没有“程序”可以做到这一点,我在这个网站http://talksoa.blogspot.com.es/2013/12/configure-hermes-jms-to-connect 中找到了这个。 html

等等,找到了解决办法。您必须首先从“加载器:”旁边的中间窗格中的下拉列表中选择类路径组名称,在其 WMQ7 上方的情况下,然后返回到第一个窗格并在插件下选择 IBM WebSphereMQ

我做了这样的事情,瞧!班级出现。现在我正在尝试配置属性:

  • 插件:IBM WebSphereMQ
  • 连接工厂:类 -> com.ibm.mq.jms.MQQueueConnectionFactory
  • 属性:主机名->
  • 属性:端口->(我不得不更改默认端口 1414)
  • 属性:queueManager -> MY.QUEUE.MANAGER
  • 属性:transportType -> 1

而且,当我这样做时Right button->Discover我收到以下错误:

ERROR hermes.browser.tasks.HermesBrowserTaskListener - MQJE001: Completion Code '2', Reason '2035'.

我一直在寻找这个错误,它似乎是一个权威错误,所以我已经完成了:

setmqaut -m MY.QUEUE.MANAGER -t qmgr -g <myUser> +all

myUser是我添加到mqm组的用户。

希望您能够帮助我。

谢谢。

4

4 回答 4

1

然后,我打开 HermesJMS 并将提供程序设置为http://www.hermesjms.com/demos/demo_mq.html的第一部分,但库是......

您可能想尝试使用CLASSPATH您在上面链接的同一文档手册中找到的 IBM 规范。他们的页面Environment variables used by IBM MQ classes for JMS解释说,您只需要在 jar 中包含一个 jar,CLASSPATH而清单中包含其他的。

同一页面还解释了该setmqjmsenv程序可用于设置环境。您可以运行它,然后捕获环境变量设置并安排 Hermes 通过显式设置或通过用于启动它的服务 ID 来继承它们。

此外,请务必使用 IBM 提供的工具来验证客户端是否已正确安装,并且您可以使用已知良好的软件连接到 MQ。不幸的是,与 Hermes 斗争了一周,却发现 MQ 侦听器在不同的端口上,或者您拼写错误的通道名称。

您没有提到应用了 Fix Pack。8.0.0.1-3 中有许多 Java 修复程序可能会使您的设置更有趣并且您希望避免这些修复程序。

我已经下载了这个试用版MQ V8.0 Trial for Multiplatform Multilingual eAssembly...

如果您访问标签 wiki,您将找到指向 MQ Advanced for Developers 的链接。它是您可以免费拥有的全功能、永不过期的 MQ 版本。试用下载最终将过期。希望不是在您让 Hermes 与它交谈之前,但它会过期并且通常在最不合时宜的时刻。

也会有一些指向 Fix Pack 的链接,但您也可以通过转到 IBM Fix Central 并搜索来轻松(是的,这是有争议的)找到这些链接。

于 2015-09-10T15:55:48.750 回答
0

而不是在连接上使客户端检查可选 - 通常,对所有事情的答案似乎总是关闭所有安全性和身份验证 - 编辑会话以添加用户 ID 和密码。这通常需要是您登录到运行队列管理器的系统的用户 ID 及其随附的密码。(即您在 setmqaut 命令中用作主体的那个。)

编辑会话,选中底部“用户:”旁边的框并添加用户和密码,然后申请并离开。

希望这可以帮助。

于 2017-09-04T13:55:20.857 回答
0

如果您愿意使用 HermesJMS 以外的其他工具,那么您可以尝试使用 JMSToolbox(来自 sourceforge)它比 HermesJMS 更容易使用(好吧,我的建议是有偏见的,我是 JMSToolbox 的作者..lol)

于 2015-12-08T23:10:28.843 回答
0

感谢@Umapathy 和@T.Rob。

我可以找到日志。我向任何有同样问题的人回答我自己的问题。这是我的错误文件:

AMQ5540:应用程序“hermes.browser.HermesBrowser”未提供用户 ID 和密码

说明: 队列管理器配置为需要用户标识和密码,但未提供任何用户标识和密码。

操作:确保应用程序提供有效的用户 ID 和密码,或者将队列管理器配置更改为 OPTIONAL 以允许未提供用户 ID 和密码的应用程序进行连接。

然后我发现了这个Websphere MQ v8 - MQRC_NOT_AUTHORIZED - 2035

所以我做了:

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)

现在我可以连接了。

谢谢你的帮助!

于 2015-09-14T15:05:00.137 回答