提交 121ed545 编写于 作者: Y Yuki Shiga 提交者: Matteo Merli

Internal Producer/Consumer in WebSocketProxy should be closed asynchronously (#473)

上级 17e65370
...@@ -135,7 +135,7 @@ public class ConsumerHandler extends AbstractWebSocketHandler { ...@@ -135,7 +135,7 @@ public class ConsumerHandler extends AbstractWebSocketHandler {
@Override @Override
public void writeSuccess() { public void writeSuccess() {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.info("[{}/{}] message is delivered successfully to {} ", consumer.getTopic(), log.debug("[{}/{}] message is delivered successfully to {} ", consumer.getTopic(),
subscription, getRemote().getInetSocketAddress().toString()); subscription, getRemote().getInetSocketAddress().toString());
} }
updateDeliverMsgStat(msgSize); updateDeliverMsgStat(msgSize);
...@@ -184,7 +184,14 @@ public class ConsumerHandler extends AbstractWebSocketHandler { ...@@ -184,7 +184,14 @@ public class ConsumerHandler extends AbstractWebSocketHandler {
public void close() throws IOException { public void close() throws IOException {
if (consumer != null) { if (consumer != null) {
this.service.removeConsumer(this); this.service.removeConsumer(this);
consumer.close(); consumer.closeAsync().thenAccept(x -> {
if (log.isDebugEnabled()) {
log.debug("[{}] Closed consumer asynchronously", consumer.getTopic());
}
}).exceptionally(exception -> {
log.warn("[{}] Failed to close consumer", consumer.getTopic(), exception);
return null;
});
} }
} }
......
...@@ -83,7 +83,14 @@ public class ProducerHandler extends AbstractWebSocketHandler { ...@@ -83,7 +83,14 @@ public class ProducerHandler extends AbstractWebSocketHandler {
public void close() throws IOException { public void close() throws IOException {
if (producer != null) { if (producer != null) {
this.service.removeProducer(this); this.service.removeProducer(this);
producer.close(); producer.closeAsync().thenAccept(x -> {
if (log.isDebugEnabled()) {
log.debug("[{}] Closed producer asynchronously", producer.getTopic());
}
}).exceptionally(exception -> {
log.warn("[{}] Failed to close producer", producer.getTopic(), exception);
return null;
});
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册