summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-01-11 02:58:14 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-01-11 02:58:14 +0000
commite9d132e3767e0d46fdc11001c520521cbe010929 (patch)
treed60b6cb15eed3ee8932e11bb4fc57514104c94b6 /java
parent6a3b335eb78f20daae23152494d784e85f4f4a6e (diff)
downloadqpid-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.java1
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Session.java12
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;
+ }
+
}