【问题标题】:Getting error for JBOSS 7.2.4 connecting to MQ with ssl errorJBOSS 7.2.4 连接到带有 ssl 错误的 MQ 时出现错误
【发布时间】:2020-07-31 18:35:01
【问题描述】:

您好,在与 MQ for Jboss 7.2.4 连接时遇到以下错误,请协助

2020-07-31 08:33:48,343 INFO  [org.jboss.as.connector.deployers.RaXmlDeployer] (Controller Boot Thread) wmq.jmsra.rar: '.
2020-07-31 08:33:48,346 ERROR [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0215: Failed to resume activity org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1@b1f771. To resume normal operation it is recommended that you restart the server.: java.lang.RuntimeException: WFLYEJB0501: Failed to activate MDB PaymentListener
    at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:279)
    at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.access$300(MessageDrivenComponent.java:63)
    at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent$1.resume(MessageDrivenComponent.java:109)
    at org.jboss.as.server.suspend.SuspendController.resume(SuspendController.java:126)
    at org.jboss.as.server.ServerService.finishBoot(ServerService.java:420)
    at org.jboss.as.server.ServerService.boot(ServerService.java:388)
    at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:372)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011: Failed to allocate a JMS connection., error code: MQJCA1011 An internal error caused an attempt to allocate a connection to fail. See the linked exception for details of the failure.
    at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:134)
    at com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:105)
    at com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:301)
    at com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:279)
    at com.ibm.mq.connector.inbound.MessageEndpointDeployment.<init>(MessageEndpointDeployment.java:231)
    at com.ibm.mq.connector.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:380)
    at org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:208)
    at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:277)
    ... 7 more
Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager 'QM_SSL' with connection mode 'Client' and host name 'null'.
Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.
    at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:585)
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)
    at com.ibm.msg.client.wmq.internal.WMQConnection.getConnectOptions(WMQConnection.java:1373)
    at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:343)
    at com.ibm.msg.client.wmq.internal.WMQXAConnection.<init>(WMQXAConnection.java:75)
    at com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createV7ProviderConnection(WMQXAConnectionFactory.java:195)
    at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6254)
    at com.ibm.msg.client.wmq.factories.WMQXAConnectionFactory.createProviderXAConnection(WMQXAConnectionFactory.java:107)
    at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createXAConnectionInternal(JmsConnectionFactoryImpl.java:378)
    at com.ibm.mq.jms.MQXAConnectionFactory.createXAConnection(MQXAConnectionFactory.java:129)
    at com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:203)
    ... 12 more
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2400' ('MQRC_UNSUPPORTED_CIPHER_SUITE').
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209)

【问题讨论】:

  • MQRC_UNSUPPORTED_CIPHER_SUITE 最可能的原因是您没有指定 java 系统属性 com.ibm.mq.cfg.useIBMCipherMappings=false 或密码套件不正确。

标签: java ssl ibm-mq jboss7.x


【解决方案1】:

您的 Connection Factory 中定义的密码规范似乎与您的 MQ 通道上配置的密码套件不兼容,或者 IBM MQ 支持的密码套件不兼容。

您可以检查应用服务器配置中的连接工厂设置。要检查通道,您可以使用 IBM MQ 控制台或 runmqsc &lt;YOUR_QM_NAME&gt;,然后使用 DISPLAY CHANNEL('&lt;YOUR_CHANNEL_NAME&gt;') 来查找 SSLCIPH( ) 的值。

This page in the IBM MQ Knowledge Centre 概述了密码命名策略和互操作性。 alias options here 也值得一看。

如果您使用的是非 IBM JRE,请检查您是否已为您的应用程序服务器运行时设置了 JVM 属性 -Dcom.ibm.mq.cfg.useIBMCipherMappings=false

有一个简单的 IBM MQ TLS 教程here,其中包含更详细的概述和一些有用的链接。

【讨论】:

    猜你喜欢
    • 2011-07-03
    • 2013-04-06
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多