diff options
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java')
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java index 2004478ed4..5cecf0cd05 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java @@ -311,7 +311,7 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr { public void onAccept() { - acknowledge(entry); + _session.acknowledge(Subscription_0_10.this,entry); } public void onRelease() @@ -432,6 +432,8 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr _stateListener.stateChange(this, State.ACTIVE, State.SUSPENDED); } _stopped.set(true); + FlowCreditManager_0_10 creditManager = getCreditManager(); + creditManager.clearCredit(); } public void addCredit(MessageCreditUnit unit, long value) @@ -507,4 +509,10 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } + + public void flush() throws AMQException + { + _queue.flushSubscription(this); + stop(); + } } |