javax.jms.JMSException:配置50多个资源适配器时出现最大连接数(50)错误-MDB

javax.jms.JMSException:配置50多个资源适配器时出现最大连接数(50)错误-MDB,jms,websphere,message-queue,websphere-8,jboss6.x,Jms,Websphere,Message Queue,Websphere 8,Jboss6.x,当我们尝试配置50多个MDB(每个MDB对应不同的MQ)时,会出现以下异常。我尝试过如下更改standalone.xml配置,但仍然没有帮助。有人能帮我们吗 standalone.xml <short-running-threads> <core-threads count="90"/> <queue-length count="90"/> <max-threads count="90"/> <keepaliv

当我们尝试配置50多个MDB(每个MDB对应不同的MQ)时,会出现以下异常。我尝试过如下更改standalone.xml配置,但仍然没有帮助。有人能帮我们吗

standalone.xml

<short-running-threads>
    <core-threads count="90"/>
    <queue-length count="90"/>
    <max-threads count="90"/>
    <keepalive-time time="10" unit="seconds"/>
</short-running-threads>
<long-running-threads>
    <core-threads count="90"/>
    <queue-length count="90"/>
    <max-threads count="90"/>
    <keepalive-time time="10" unit="seconds"/>
</long-running-threads>

堆栈跟踪:

错误[org.jboss.msc.service.fail](服务器服务线程池--185) MSC000001:无法启动服务 jboss.deployment.subunit.“test.ear.”testAppMDB.jar.“component.TESTMDB.START: org.jboss.msc.service.StartException在服务中 jboss.deployment.subunit.“test.ear.”TestAppMDB.jar.“component.TESTMDB.START: java.lang.RuntimeException: com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011:未能分配JMS连接,错误代码:MQJCA1011 内部错误导致分配连接的尝试失败。 有关失败的详细信息,请参阅链接的异常。在 org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57) [jboss-as-ee-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14] Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_102]at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_102]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102]位于java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]at org.jboss.threads.JBossThread.run(JBossThread.java:122)由以下原因引起: java.lang.RuntimeException: com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011:未能分配JMS连接,错误代码:MQJCA1011 内部错误导致分配连接的尝试失败。 有关失败的详细信息,请参阅链接的异常。在 org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:209) 在 org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.start(MessageDrivenComponent.java:181) 在 org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54) [jboss-as-ee-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]。。。6. 更多原因是: com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011:未能分配JMS连接,错误代码:MQJCA1011 内部错误导致分配连接的尝试失败。 有关失败的详细信息,请参阅链接的异常。在 com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:134) 在 com.ibm.mq.connector.services.JCAExceptionBuilder.buildException(JCAExceptionBuilder.java:105) 在 com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection(ConnectionHandler.java:165) 在 com.ibm.mq.connector.inbound.MessageEndpointDeployment.acquireConnection(MessageEndpointDeployment.java:284) 在 com.ibm.mq.connector.inbound.MessageEndpointDeployment。(MessageEndpointDeployment.java:233) 在 com.ibm.mq.connector.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:393) 位于org.jboss.jca.core.rar.EndpointImpl.activate(EndpointImpl.java:191) 在 org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponent.activate(MessageDrivenComponent.java:207) ... 另外8个原因:javax.jms.JMSException:最大连接数(50) 访问com.ibm.mq.connector.in


从堆栈跟踪的格式很难判断,但在我看来,异常来自WebSphereMQ JCA资源适配器,这表明问题在于WebSphereMQ服务器的配置,它似乎将可能的连接数限制在50个。在JBoss应用服务器中更改线程池配置并不能解决这个问题。您需要更改WebSphereMQ服务器以允许超过50个连接。

此异常

Caused by: javax.jms.JMSException: maximum connections (50) reached at com.ibm.mq.connector.inbound.ConnectionHandler.allocateConnection
是WebSphere MQ资源适配器中
maxConnection
属性的默认设置(50)的结果。查看此页面了解更多详细信息


您需要在资源适配器配置中更改此属性。我不知道如何在JBoss中配置它,但在WebSphere中,您可以通过Resources>JMS>JMS providers>Resource adapter properties进行配置。

您可以增加可用连接的数量(默认为50):


wmq-jmsra.rar
100

谢谢您的评论。是的,你是正确的,这不是JBoss的问题。因为相同的MDB配置在另一个环境中工作。我们正在Windows环境中检查问题,看起来像TCP/IP配置在我们的服务器中阻止了这一点。但到目前为止还没有一个清晰的画面。如果我们能解决这个问题,我们将分享细节。
    <subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
        <resource-adapters>
            <resource-adapter id="wmq-jmsra.rar" statistics-enabled="true">
                <archive>
                    wmq-jmsra.rar
                </archive>
                <config-property name="maxConnections">
                    100
                </config-property>