diff --git a/src/main/java/us/b3k/kafka/ws/KafkaWebsocketEndpoint.java b/src/main/java/us/b3k/kafka/ws/KafkaWebsocketEndpoint.java index ff1939c..ed4648d 100644 --- a/src/main/java/us/b3k/kafka/ws/KafkaWebsocketEndpoint.java +++ b/src/main/java/us/b3k/kafka/ws/KafkaWebsocketEndpoint.java @@ -54,8 +54,10 @@ public static Map getQueryMap(String query) if (query != null) { String[] params = query.split("&"); for (String param : params) { - String[] nameval = param.split("="); - map.put(nameval[0], nameval[1]); + String[] nameval = param.split("=", 2); + if (nameval.length == 2) { + map.put(nameval[0], nameval[1]); + } } } return map; diff --git a/src/main/java/us/b3k/kafka/ws/consumer/KafkaConsumer.java b/src/main/java/us/b3k/kafka/ws/consumer/KafkaConsumer.java index 93ea2a8..91da3d8 100644 --- a/src/main/java/us/b3k/kafka/ws/consumer/KafkaConsumer.java +++ b/src/main/java/us/b3k/kafka/ws/consumer/KafkaConsumer.java @@ -86,14 +86,15 @@ public void start() { public void stop() { LOG.info("Stopping consumer for session {}", session.getId()); if (connector != null) { - connector.commitOffsets(); try { + connector.commitOffsets(); Thread.sleep(5000); } catch (InterruptedException ie) { LOG.error("Exception while waiting to shutdown consumer: {}", ie.getMessage()); + } finally { + LOG.debug("Shutting down connector for session {}", session.getId()); + connector.shutdown(); } - LOG.debug("Shutting down connector for session {}", session.getId()); - connector.shutdown(); } LOG.info("Stopped consumer for session {}", session.getId()); }