summaryrefslogtreecommitdiff
path: root/java/common
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-03-08 16:06:39 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-03-08 16:06:39 +0000
commit52ba27a840a75a7afc2d4cae4fe5152e84e8f3b0 (patch)
treee1ee4618acc742582bc9177b46def6508c2ef9ab /java/common
parent1b43aa8de35b6bae12d23b0e1538956651d2d2d6 (diff)
downloadqpid-python-52ba27a840a75a7afc2d4cae4fe5152e84e8f3b0.tar.gz
QPID-2732
The reliability mode is now used on the producer side to determine replay. Any messages transfers sent to a destination marked unreliable will not be added to the replay buffer. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079408 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Session.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Session.java b/java/common/src/main/java/org/apache/qpid/transport/Session.java
index 242c7f2b0d..d961507382 100644
--- a/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/java/common/src/main/java/org/apache/qpid/transport/Session.java
@@ -664,7 +664,12 @@ public class Session extends SessionInvoker
{
sessionCommandPoint(0, 0);
}
- if ((!closing && !transacted && m instanceof MessageTransfer) || m.hasCompletionListener())
+
+ boolean replayTransfer = !closing && !transacted &&
+ m instanceof MessageTransfer &&
+ ! m.isUnreliable();
+
+ if ((replayTransfer) || m.hasCompletionListener())
{
commands[mod(next, commands.length)] = m;
commandBytes += m.getBodySize();