[jboss-cvs] JBoss Messaging SVN: r8352 - branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jun 18 23:21:25 EDT 2011
Author: gaohoward
Date: 2011-06-18 23:21:25 -0400 (Sat, 18 Jun 2011)
New Revision: 8352
Modified:
branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
Log:
JBMESSAGING-1881
Modified: branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2011-06-19 02:54:10 UTC (rev 8351)
+++ branches/Branch_1_4/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2011-06-19 03:21:25 UTC (rev 8352)
@@ -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