2009-10-08 18 views
5

Esiste un limite al numero di code che posso aprire in una singola connessione e sessione singola? Attualmente posso aprire 128 code e inviare messaggi a loro. Se provo ad aprire 129 ottengo il seguente errore ...Limite di coda WSMQ

Grazie

errore:

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

Qualsiasi informazione o suggerimento è gradito. – x1a0

risposta

4

Questo è controllato dal attributo del gestore code MAXHANDS.

Il valore predefinito è 256. A seconda della modalità di accesso alle code, è possibile che le classi si aprano ciascuna due volte, risultando in 128 max code aperte.

È possibile visualizzare gli handle della coda in runmqsc con il comando DIS QSTATUS.