2009-10-08 87 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中顯示隊列句柄。