2009-10-08 61 views
5

在单个连接和单个会话内可以打开多少个队列有限制吗?我目前可以打开128个队列并向他们发送消息。如果我尝试打开了129,我得到以下错误...WSMQ队列限制

感谢

错误:

com.ibm.msg.client.jms.DetailedResourceAllocationException: JMSWMQ2008: Failed to open MQ queue 'TestQueue_129'. JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error. Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly. 
    at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:579) 
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:219) 
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:1000) 
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer.checkJmqiCallSuccess(WMQMessageProducer.java:956) 
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer.access$800(WMQMessageProducer.java:59) 
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer$SpiIdentifiedProducerShadow.initialise(WMQMessageProducer.java:727) 
    at com.ibm.msg.client.wmq.internal.WMQMessageProducer.<init>(WMQMessageProducer.java:931) 
    at com.ibm.msg.client.wmq.internal.WMQSession.createProducer(WMQSession.java:783) 
    at com.ibm.msg.client.jms.internal.JmsSessionImpl.createProducer(JmsSessionImpl.java:1122) 
    at com.ibm.msg.client.jms.internal.JmsQueueSessionImpl.createSender(JmsQueueSessionImpl.java:131) 
    at com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:147) 
    at com.ibm.mq.jms.MQQueueSession.createProducer(MQQueueSession.java:248) 
    at MyQueue.<init>(MyQueue.java:25) 
    at Main.main(Main.java:54) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at com.ibm.ws.client.applicationclient.launchClient.createContainerAndLaunchApp(launchClient.java:788) 
    at com.ibm.ws.client.applicationclient.launchClient.main(launchClient.java:493) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213) 
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93) 
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74) 
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340) 
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282) 
    at org.eclipse.core.launcher.Main.run(Main.java:981) 
    at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:330) 
    at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:108) 
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2017' ('MQRC_HANDLE_NOT_AVAILABLE'). 
    at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:206) 
    ... 39 more 
WSCL0100E: Exception received: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at com.ibm.ws.client.applicationclient.launchClient.createContainerAndLaunchApp(launchClient.java:788) 
    at com.ibm.ws.client.applicationclient.launchClient.main(launchClient.java:493) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213) 
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93) 
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74) 
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) 
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
    at java.lang.reflect.Method.invoke(Method.java:599) 
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340) 
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282) 
    at org.eclipse.core.launcher.Main.run(Main.java:981) 
    at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:330) 
    at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:108) 
Caused by: java.lang.NullPointerException 
    at MyQueue.sendMessage(MyQueue.java:39) 
    at Main.main(Main.java:55) 
    ... 27 more 
+0

任何信息或建议表示赞赏。 – x1a0 2009-10-13 19:15:00

回答

4

这是由队列管理器的MAXHANDS属性控制。

默认值是256.根据您访问队列的方式,类可能会打开每个队列两次,导致128个最大打开队列。

您可以使用DIS QSTATUS命令在runmqsc中显示队列句柄。