Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
Description
If a monitoring message cannot be sent then the Timer thread dies and the application never attempts to send any more messages. In the case below, the message could not be sent because the queue was full. Restarting the GUIApplication emptied the queue but the client applications had all stopped sending messages. This can be fixed with a try/catch loop in the relevant run() method.
Feb 10, 2011 5:47:01 AM dk.netarkivet.common.distribute.JMSConnectionSunMQ onException
WARNING: JMSException with errorcode 'C4096' encountered: com.sun.messaging.jms.ResourceAllocationException: [C4096]: Destination is full and is rejecting new messages: PROD_COMMON_MONITOR user=guest, broker=kb-prod-adm-001.kb.dk:7676(33700)
Feb 10, 2011 5:47:01 AM dk.netarkivet.common.distribute.JMSConnectionSunMQ onException
WARNING: Exception not handled. Don't know how to handle exceptions with errorcode C4096
com.sun.messaging.jms.ResourceAllocationException: [C4096]: Destination is full and is rejecting new messages: PROD_COMMON_MONITOR user=guest, broker=kb-prod-adm-001.kb.dk:7676(33700)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.writeJMSMessage(ProtocolHandler.java:1900)
at com.sun.messaging.jmq.jmsclient.WriteChannel.sendWithFlowControl(WriteChannel.java:143)
at com.sun.messaging.jmq.jmsclient.WriteChannel.writeJMSMessage(WriteChannel.java:96)
at com.sun.messaging.jmq.jmsclient.SessionImpl.writeJMSMessage(SessionImpl.java:755)
at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.writeJMSMessage(MessageProducerImpl.java:191)
at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.writeJMSMessage(MessageProducerImpl.java:180)
at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.send(MessageProducerImpl.java:561)
at com.sun.messaging.jmq.jmsclient.QueueSenderImpl.send(QueueSenderImpl.java:90)
at dk.netarkivet.common.distribute.JMSConnection.doSend(JMSConnection.java:611)
at dk.netarkivet.common.distribute.JMSConnection.sendMessage(JMSConnection.java:422)
at dk.netarkivet.common.distribute.JMSConnection.send(JMSConnection.java:217)
at dk.netarkivet.monitor.distribute.JMSMonitorRegistryClient$1.run(JMSMonitorRegistryClient.java:105)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)