From 513d8719dd870fed4022dacc56be46353c33e7f4 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Mon, 07 Dec 2020 10:48:31 +0800 Subject: [PATCH] 更新Websocket以及rabbitMQ关闭逻辑 --- src/main/java/com/moral/webSocketServer/BSAQIWebSocketServer.java | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/moral/webSocketServer/BSAQIWebSocketServer.java b/src/main/java/com/moral/webSocketServer/BSAQIWebSocketServer.java index 3ae2aa1..09e5e0a 100644 --- a/src/main/java/com/moral/webSocketServer/BSAQIWebSocketServer.java +++ b/src/main/java/com/moral/webSocketServer/BSAQIWebSocketServer.java @@ -92,14 +92,19 @@ channel.basicConsume(queue, false, new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { - //������MQ������������������������������������������������������������ - Map message = (Map) JSON.parse((String) JSON.parse(new String(body))); - Device device = deviceService.getDeviceByMac(mac,false); - sendDeviceInfo(message, device); - //������������ - channel.basicAck(envelope.getDeliveryTag(), true); - //������socket������������������ - if (!webSocketMap.containsKey(accountId)) { + try{ + //������MQ������������������������������������������������������������ + Map message = (Map) JSON.parse((String) JSON.parse(new String(body))); + Device device = deviceService.getDeviceByMac(mac,false); + sendDeviceInfo(message, device); + //������������ + channel.basicAck(envelope.getDeliveryTag(), true); + //������socket������������������ + if (!webSocketMap.containsKey(accountId)) { + RabbitMQUtils.closeConnectionChannel(connection, channel); + } + }catch (Exception e){ + log.error(e.getMessage()); RabbitMQUtils.closeConnectionChannel(connection, channel); } } -- Gitblit v1.8.0