diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/common/src/main/java/org/apache/qpidity/transport/Session.java | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/java/common/src/main/java/org/apache/qpidity/transport/Session.java b/java/common/src/main/java/org/apache/qpidity/transport/Session.java index 8c1b2a9ad4..bf16a6c0d8 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/Session.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/Session.java @@ -41,7 +41,19 @@ import java.util.concurrent.atomic.AtomicBoolean; public class Session extends Invoker { - + static + { + String enableReplay = "enable_replay"; + try + { + ENABLE_REPLAY = new Boolean(System.getProperties().getProperty(enableReplay, "false")); + } + catch (Exception e) + { + ENABLE_REPLAY = false; + } + } + private static boolean ENABLE_REPLAY = false; private static final Logger log = Logger.get(Session.class); // channel may be null @@ -178,17 +190,18 @@ public class Session extends Invoker void complete(long lower, long upper) { log.debug("%s complete(%d, %d)", this, lower, upper); - + if( ENABLE_REPLAY ) + { synchronized (commands) { for (long id = lower; id <= upper; id++) { commands.remove(id); } - commands.notifyAll(); log.debug("%s commands remaining: %s", this, commands); } + } } void complete(long mark) @@ -207,7 +220,10 @@ public class Session extends Invoker { synchronized (commands) { - commands.put(commandsOut++, m); + if(ENABLE_REPLAY) + { + commands.put(commandsOut++, m); + } channel.method(m); } } |
