From 636b8de120c40124f086ec5a130ac55ceba87b0a Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Thu, 12 Jan 2017 13:14:41 +0000 Subject: add back waiting on shutdown() * add a global pending replies counter * wait for all outstanding replies on shutdown --- .../src/main/java/com/yahoo/feedapi/SharedSender.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java') diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java index a29693aee1c..6d089abf0b4 100755 --- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java +++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java @@ -24,6 +24,7 @@ public class SharedSender implements ReplyHandler { private SendSession sender; private RouteMetricSet metrics; + private Pending globalPending = new Pending(); /** * Creates a new shared sender. @@ -46,7 +47,10 @@ public class SharedSender implements ReplyHandler { } public void shutdown() { - // XXX may need to wait here? + try { + globalPending.waitForZero(); + } catch (InterruptedException e) { + } sender.close(); } @@ -116,6 +120,7 @@ public class SharedSender implements ReplyHandler { msg.setContext(owner); owner.getPending().inc(); + globalPending.inc(); try { com.yahoo.messagebus.Result r = sender.send(msg, blockingQueue); @@ -138,6 +143,7 @@ public class SharedSender implements ReplyHandler { */ @Override public void handleReply(Reply r) { + globalPending.dec(); ResultCallback owner = (ResultCallback) r.getContext(); if (owner != null) { -- cgit v1.2.3