User: hiram
Date: 01/01/04 15:24:49
Modified: src/java/org/spydermq SpyMessageConsumer.java
Log:
Bug Fix: message consumers would hang if it was delivered a message after it was
closed.
Revision Changes Path
1.14 +10 -1 spyderMQ/src/java/org/spydermq/SpyMessageConsumer.java
Index: SpyMessageConsumer.java
===================================================================
RCS file:
/products/cvs/ejboss/spyderMQ/src/java/org/spydermq/SpyMessageConsumer.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- SpyMessageConsumer.java 2000/12/31 23:46:32 1.13
+++ SpyMessageConsumer.java 2001/01/04 23:24:49 1.14
@@ -24,7 +24,7 @@
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author Hiram Chirino ([EMAIL PROTECTED])
*
- * @version $Revision: 1.13 $
+ * @version $Revision: 1.14 $
*/
public class SpyMessageConsumer implements MessageConsumer, SpyConsumer {
@@ -218,6 +218,14 @@
public void addMessage(SpyMessage mes) throws JMSException {
synchronized (messages) {
+
+ if( closed ) {
+ if( mes.shouldAck ) {
+ Log.log("WARNING: NACK issued. The message
consumer was closed.");
+ session.connection.send(
mes.getAcknowledgementRequest(false) );
+ }
+ }
+
//Add a message to the queue
if( subscription.accepts(mes, mes.shouldAck) ) {
messages.addLast(mes);
@@ -292,7 +300,8 @@
}
public void processMessages() throws JMSException {
- session.mutex.notifyLock();
+ if( !closed )
+ session.mutex.notifyLock();
}
public Subscription getSubscription() {