Glassfish 未能分配JMS连接Payara和Websphere MQ

Glassfish 未能分配JMS连接Payara和Websphere MQ,glassfish,ibm-mq,payara,Glassfish,Ibm Mq,Payara,[WebSphere MQ安装子目录] 我使用IBM网站下页的说明将IBM资源适配器安装到Payara(Glassfish)服务器上: 但是,当我尝试使用ping选项测试连接器连接池时,出现以下错误: '为jms/ivt/IVTCF连接池Ping连接池失败。MQJCA1011:未能分配JMS连接。错误代码:MQJCA1011有关详细信息,请查看server.log。” 我正在运行Payara服务器4.1.2.181,并尝试连接到IBM WebSphere MQ Explorer版本:8.0.0

[WebSphere MQ安装子目录]

我使用IBM网站下页的说明将IBM资源适配器安装到Payara(Glassfish)服务器上:

但是,当我尝试使用ping选项测试连接器连接池时,出现以下错误: '为jms/ivt/IVTCF连接池Ping连接池失败。MQJCA1011:未能分配JMS连接。错误代码:MQJCA1011有关详细信息,请查看server.log。”

我正在运行Payara服务器4.1.2.181,并尝试连接到IBM WebSphere MQ Explorer版本:8.0.0.5。下面是我正在使用的domain.xml文件中的相关连接详细信息:

<connector-connection-pool resource-adapter-name="wmq.jmsra" max-pool-size="250" ping="true" steady-pool-size="1" name="jms/ivt/IVTCF-Connection-Pool" connection-definition-name="javax.jms.ConnectionFactory">
      <property name="transportType" value="CLIENT"></property>
      <property name="queueManager" value="QM"></property>
      <property name="channel" value="SYSTEM.DEF.SVRCONN"></property>
      <property name="port" value="1418"></property>
      <property name="hostName" value="localhost"></property>
    </connector-connection-pool>
    <connector-resource pool-name="jms/ivt/IVTCF-Connection-Pool" jndi-name="IVTCF"></connector-resource>
    <admin-object-resource res-adapter="wmq.jmsra" res-type="javax.jms.Queue" jndi-name="IVTQueue" class-name="com.ibm.mq.connector.outbound.MQQueueProxy">
      <property name="baseQueueManagerName" value="QM"></property>
      <property name="name" value="IVTQueue"></property>
      <property name="CCSID" value="1208"></property>
      <property name="failIfQuiesce" value="true"></property>
      <property name="messageBodyStyle" value="UNSPECIFIED"></property>
      <property name="readAheadClosePolicy" value="ALL"></property>
      <property name="encoding" value="NATIVE"></property>
      <property name="priority" value="APP"></property>
      <property name="putAsyncAllowed" value="DESTINATION"></property>
      <property name="readAheadAllowed" value="DESTINATION"></property>
      <property name="persistence" value="APP"></property>
      <property name="targetClient" value="JMS"></property>
      <property name="expiry" value="APP"></property>
    </admin-object-resource>


您是否有名为“QM”的本地队列?您正在使用“localhost”,那么它是否在本地PC上运行?您是否将MQ侦听器配置为使用端口#1418


最后,不要使用“SYSTEM.DEF.SVRCONN”。创建一个供您自己使用的频道。i、 e.“TEST.CHL”。此外,CHLAUTH规则可能会阻止您使用SYSTEM.*频道。

正如@Roger所强调的,在我的案例中,问题是频道被CHLAUTH规则阻止。我通过在IBM Integration Console上使用以下命令禁用通道授权来修复此问题:

alter QMGR CHLAUTH(已禁用) alter AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS)AUTHTYPE(IDPWOS)CHCKCLNT(无)
刷新安全类型(CONNAUTH)

有关详细信息,请查看server.log。
好的,有详细信息吗?您的queuemanager与Payara在同一主机上运行,使用端口1418?您确定正确地遵循了该教程吗?例如,您指定了属性
主机名
,但在链接教程中,我只能看到
主机
。是的,我故意将端口设置为1418,因为端口1414上运行着另一个队列管理器。是的,属性应该是主机名而不是主机名。server.log文件中记录的唯一内容是:[2019-11-18T12:47:26.599+0200][Payara 4.1][severy][org.glassfish.admingui][tid:_ThreadID=273_ThreadName=admin thread pool::admin listener(18)][timeMillis:1574074046599][levelValue:1000][response.getResponse()给出失败。endpoint='';attrs='{id=jms%2Fivt%2FIVTCF连接池}']]队列管理器的错误日志文件
AMQERR01.log
中有什么?我有一个名为QM的队列管理器,我正在我的PC上本地运行所有内容。我甚至尝试将主机名从“localhost”更改为“127.0.0.1”。我使用的是基于IBM网页说明的特定渠道。将检查CHLAUTH规则。@user5822870:因为您有一个本地队列管理器,所以一定有队列管理器错误文件。由于您谈论的是PC,我假设它是Windows,因此请查看
C:\ProgramData\IBM\MQ\qmgrs\QM\errors\AMQERR01.LOG
@DanielSteinmann我正在尝试添加图像以显示WebSphere MQ子文件夹中的子目录,但无法在注释中显示。它不包含qmgrs子文件夹。禁用安全性不是推荐的做法,您可以按照Roger的建议定义一个新通道来使用,而不是系统通道(也不推荐),这样就不需要禁用CHLAUTH并传递用户名和密码进行身份验证,这样就不需要禁用CONNAUTH。
<property name="queueManager" value="QM"></property>
<property name="channel" value="SYSTEM.DEF.SVRCONN"></property>
<property name="port" value="1418"></property>
<property name="hostName" value="localhost"></property>