[jboss-cvs] JBoss Messaging SVN: r8350 - branches/JBMESSAGING_1881/src/main/org/jboss/jms/server/endpoint.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jun 18 11:42:52 EDT 2011
Author: gaohoward
Date: 2011-06-18 11:42:52 -0400 (Sat, 18 Jun 2011)
New Revision: 8350
Modified:
branches/JBMESSAGING_1881/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
Log:
first fix
Modified: branches/JBMESSAGING_1881/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- branches/JBMESSAGING_1881/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2011-06-18 14:08:34 UTC (rev 8349)
+++ branches/JBMESSAGING_1881/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2011-06-18 15:42:52 UTC (rev 8350)
@@ -1099,15 +1099,29 @@
if (performDelivery)
{
- toDeliver.take();
+ DeliveryRecord record = (DeliveryRecord)toDeliver.poll(0);
+
+ //JBMESSAGING-1881
+ if (record != null)
+ {
+ if (record == dr)
+ {
+ if (trace) { log.trace("performing delivery for " + record); }
- performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer());
+ performDelivery(dr.del.getReference(), dr.deliveryID, dr.getConsumer());
- delivered = true;
+ delivered = true;
- dr.waitingForResponse = false;
+ dr.waitingForResponse = false;
- delivered = true;
+ delivered = true;
+ }
+ else
+ {
+ if (trace) { log.trace("Putting back " + record); }
+ toDeliver.put(record);
+ }
+ }
}
}
}
More information about the jboss-cvs-commits
mailing list