diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2011-01-11 02:58:14 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2011-01-11 02:58:14 +0000 |
commit | e9d132e3767e0d46fdc11001c520521cbe010929 (patch) | |
tree | d60b6cb15eed3ee8932e11bb4fc57514104c94b6 /java | |
parent | 6a3b335eb78f20daae23152494d784e85f4f4a6e (diff) | |
download | qpid-python-e9d132e3767e0d46fdc11001c520521cbe010929.tar.gz |
QPID-2994
When the session is marked transactional, message transfers are not replayed.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1057460 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java | 1 | ||||
-rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/Session.java | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java index bf04aa1c71..297a8da65b 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java @@ -167,6 +167,7 @@ public class AMQSession_0_10 extends AMQSession<BasicMessageConsumer_0_10, Basic if (_transacted) { _qpidSession.txSelect(); + _qpidSession.setTransacted(true); } if (maxAckDelay > 0) 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 eba46e9b1b..ea7eca302b 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 @@ -89,7 +89,7 @@ public class Session extends SessionInvoker private int channel; private SessionDelegate delegate; private SessionListener listener = new DefaultSessionListener(); - private long timeout = 60000; + private long timeout = 6000; private boolean autoSync = false; private boolean incomingInit; @@ -116,7 +116,8 @@ public class Session extends SessionInvoker private Semaphore credit = new Semaphore(0); private Thread resumer = null; - + private boolean transacted = false; + protected Session(Connection connection, Binary name, long expiry) { this(connection, new SessionDelegate(), name, expiry); @@ -645,7 +646,7 @@ public class Session extends SessionInvoker { sessionCommandPoint(0, 0); } - if ((!closing && m instanceof MessageTransfer) || m.hasCompletionListener()) + if ((!closing && !transacted && m instanceof MessageTransfer) || m.hasCompletionListener()) { commands[mod(next, commands.length)] = m; commandBytes += m.getBodySize(); @@ -992,4 +993,9 @@ public class Session extends SessionInvoker { return String.format("ssn:%s", name); } + + public void setTransacted(boolean b) { + this.transacted = b; + } + } |