From 30d6ad72fa05ba60357cd5cdbec3743753940a1b Mon Sep 17 00:00:00 2001 From: Timothy Bish Date: Thu, 17 Mar 2016 14:08:09 -0400 Subject: [PATCH] NO-JIRA Allow for the disconnect call in the test to fail as the short keepAlive interval can trigger a shutdown of the socket before we have a chance to write the disconnect depending on the timing. --- .../org/apache/activemq/transport/ws/jetty9/MQTTSocket.java | 2 +- .../apache/activemq/transport/ws/jetty9/StompSocket.java | 4 ++-- .../apache/activemq/transport/ws/StompWSTransportTest.java | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/MQTTSocket.java b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/MQTTSocket.java index b2dd9be386..8e0c416811 100644 --- a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/MQTTSocket.java +++ b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/MQTTSocket.java @@ -80,7 +80,7 @@ public class MQTTSocket extends AbstractMQTTSocket implements WebSocketListener try { getProtocolConverter().onMQTTCommand(new DISCONNECT().encode()); } catch (Exception e) { - LOG.warn("Failed to close WebSocket", e); + LOG.debug("Failed to close MQTT WebSocket cleanly", e); } } diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/StompSocket.java b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/StompSocket.java index a419e71dc1..ee012dbed5 100644 --- a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/StompSocket.java +++ b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/StompSocket.java @@ -64,11 +64,11 @@ public class StompSocket extends AbstractStompSocket implements WebSocketListene public void onWebSocketClose(int arg0, String arg1) { try { if (protocolLock.tryLock() || protocolLock.tryLock(ORDERLY_CLOSE_TIMEOUT, TimeUnit.SECONDS)) { - LOG.info("Stomp WebSocket closed: code[{}] message[{}]", arg0, arg1); + LOG.debug("Stomp WebSocket closed: code[{}] message[{}]", arg0, arg1); protocolConverter.onStompCommand(new StompFrame(Stomp.Commands.DISCONNECT)); } } catch (Exception e) { - LOG.warn("Failed to close WebSocket", e); + LOG.debug("Failed to close STOMP WebSocket cleanly", e); } finally { if (protocolLock.isHeldByCurrentThread()) { protocolLock.unlock(); diff --git a/activemq-http/src/test/java/org/apache/activemq/transport/ws/StompWSTransportTest.java b/activemq-http/src/test/java/org/apache/activemq/transport/ws/StompWSTransportTest.java index dd493469e0..12b54a4eaa 100644 --- a/activemq-http/src/test/java/org/apache/activemq/transport/ws/StompWSTransportTest.java +++ b/activemq-http/src/test/java/org/apache/activemq/transport/ws/StompWSTransportTest.java @@ -283,6 +283,10 @@ public class StompWSTransportTest extends WSTransportTestSupport { service.shutdownNow(); service.awaitTermination(5, TimeUnit.SECONDS); - wsStompConnection.sendFrame(new StompFrame(Stomp.Commands.DISCONNECT)); + try { + wsStompConnection.sendFrame(new StompFrame(Stomp.Commands.DISCONNECT)); + } catch (Exception ex) { + LOG.info("Caught exception on write of disconnect", ex); + } } }