Jar 无法在RedHat Enterprise Linux中使用WebSphere MQ 8配置HermesJMS

Jar 无法在RedHat Enterprise Linux中使用WebSphere MQ 8配置HermesJMS,jar,jms,ibm-mq,hermes-jms,websphere-mq,Jar,Jms,Ibm Mq,Hermes Jms,Websphere Mq,我正在尝试使用webspheremqv8.0配置hermesjmsv1.14,但我不能。我看过好几本教程,我也遵循了它们,尽管没有一本是这些版本 这就是我所做的。我已经下载了这个多平台多语言eAssembly的试用版mqv8.0。我已经按照这些说明安装了它 然后,我打开HermesJMS并将提供程序设置为demo_mq.html的第一部分(删除过时的链接),但库是: com.ibm.mq.commonservices.jar com.ibm.mq.jar com.ibm.mqjms.jar c

我正在尝试使用
webspheremqv8.0
配置
hermesjmsv1.14
,但我不能。我看过好几本教程,我也遵循了它们,尽管没有一本是这些版本

这就是我所做的。我已经下载了这个多平台多语言eAssembly的试用版
mqv8.0。我已经按照这些说明安装了它

然后,我打开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
,但它没有出现,似乎前面的扫描步骤不起作用

我查看了jar,知道类
MQQueueConnectionFactory
com.ibm.mq.jar

那么,有哪一步我忘了吗?我需要其他图书馆吗

请随时询问更多信息

提前谢谢

更新:

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

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

是的,我用过了,我忘了提了,对不起

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

我没有提到这一点,我使用了
setmqenv
来配置
PATH
环境变量

第一个问题的解决方案:

我已经解决了这个问题,但我认为没有“程序”来解决这个问题,我在这个网站上找到了这个

等等,找到解决办法了。首先,在“WMQ7”的情况下,从“加载程序”旁边的“中间窗格”中选择“类路径组名称”,然后返回到第一个窗格,并在插件

下选择IBM WebS球eq。 我做了这样的事,瞧!该类将出现。现在我正在尝试配置属性:

  • 插件:IBMWebSphereMQ
  • 连接工厂:Class->com.ibm.mq.jms.MQQueueConnectionFactory
  • 属性:主机名->
  • 属性:端口->(我必须更改默认端口1414)
  • 属性:queueManager->MY.QUEUE.MANAGER
  • 属性:transportType->1
而且,当我执行
右键
->
发现
时,我会得到以下错误:

ERROR hermes.browser.tasks.HermesBrowserTaskListener - MQJE001: Completion Code '2', Reason '2035'.
我一直在寻找这个错误,它似乎是一个权威错误,所以我做了:

setmqaut -m MY.QUEUE.MANAGER -t qmgr -g <myUser> +all
setmqaut-m MY.QUEUE.MANAGER-t qmgr-g+all
myUser
是我添加到
mqm
组的用户

希望你能帮助我

谢谢

然后,我打开HermesJMS并像的第一部分一样设置提供程序,但是库是

您可能希望尝试使用IBM的
类路径规范,正如您在上面链接的同一文档手册中所找到的那样。他们的页面解释说,您只需要在
类路径
中包含一个jar,而清单会将其他jar拉入

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

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

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

我已经下载了这个多平台多语言eAssembly的试用版
mqv8.0试用版

如果您转到标记wiki,您将找到指向MQ Advanced for Developers的链接。这是一个功能完整、不过期的MQ版本,您可以免费使用。试用版下载最终将过期。希望不是在你让爱马仕和它说话之前,但它会过期,通常是在最不合适的时候


也会有一些指向补丁包的链接,但是您也可以通过转到IBM Fix Central并进行搜索轻松找到这些链接。

感谢@umathy和@T.Rob

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

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

说明: 队列管理器被配置为需要用户ID和密码,但没有用户ID和密码 供应

行动: 请确保应用程序提供有效的用户ID和密码,或更改 队列管理器配置为可选,以允许应用程序连接 尚未提供用户ID和密码的

然后我发现了这个

所以我做了:

ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
现在我可以连接了


谢谢你的帮助

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

而不是让客户机检查在连接上是可选的-通常,所有问题的答案似乎都是错误的