Commit a574ff094428decbdc35332d184cd0d210716a44

Authored by 648540858
1 parent 70c20364

修复使用队列导致的问题

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestProcessor.java
@@ -79,7 +79,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements @@ -79,7 +79,7 @@ public class NotifyRequestProcessor extends SIPRequestProcessorParent implements
79 79
80 private boolean taskQueueHandlerRun = false; 80 private boolean taskQueueHandlerRun = false;
81 81
82 - private final ConcurrentLinkedQueue<HandlerCatchData> taskQueue = new ConcurrentLinkedQueue<>(); 82 + private ConcurrentLinkedQueue<HandlerCatchData> taskQueue = new ConcurrentLinkedQueue<>();
83 83
84 @Qualifier("taskExecutor") 84 @Qualifier("taskExecutor")
85 @Autowired 85 @Autowired
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -72,7 +72,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -72,7 +72,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
72 72
73 private boolean taskQueueHandlerRun = false; 73 private boolean taskQueueHandlerRun = false;
74 74
75 - private final ConcurrentLinkedQueue<SipMsgInfo> taskQueue = new ConcurrentLinkedQueue<>(); 75 + private ConcurrentLinkedQueue<SipMsgInfo> taskQueue = new ConcurrentLinkedQueue<>();
76 76
77 @Qualifier("taskExecutor") 77 @Qualifier("taskExecutor")
78 @Autowired 78 @Autowired
@@ -92,13 +92,14 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -92,13 +92,14 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
92 if (!taskQueueHandlerRun) { 92 if (!taskQueueHandlerRun) {
93 taskQueueHandlerRun = true; 93 taskQueueHandlerRun = true;
94 taskExecutor.execute(() -> { 94 taskExecutor.execute(() -> {
  95 + logger.info("[处理报警通知]待处理数量:{}", taskQueue.size() );
95 while (!taskQueue.isEmpty()) { 96 while (!taskQueue.isEmpty()) {
96 SipMsgInfo sipMsgInfo = taskQueue.poll(); 97 SipMsgInfo sipMsgInfo = taskQueue.poll();
97 // 回复200 OK 98 // 回复200 OK
98 try { 99 try {
99 responseAck(getServerTransaction(sipMsgInfo.getEvt()), Response.OK); 100 responseAck(getServerTransaction(sipMsgInfo.getEvt()), Response.OK);
100 } catch (SipException | InvalidArgumentException | ParseException e) { 101 } catch (SipException | InvalidArgumentException | ParseException e) {
101 - logger.error("[收到报警通知], 回复200OK失败", e); 102 + logger.error("[处理报警通知], 回复200OK失败", e);
102 } 103 }
103 104
104 Element deviceIdElement = sipMsgInfo.getRootElement().element("DeviceID"); 105 Element deviceIdElement = sipMsgInfo.getRootElement().element("DeviceID");
@@ -112,7 +113,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -112,7 +113,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
112 deviceAlarm.setAlarmMethod(getText(sipMsgInfo.getRootElement(), "AlarmMethod")); 113 deviceAlarm.setAlarmMethod(getText(sipMsgInfo.getRootElement(), "AlarmMethod"));
113 String alarmTime = XmlUtil.getText(sipMsgInfo.getRootElement(), "AlarmTime"); 114 String alarmTime = XmlUtil.getText(sipMsgInfo.getRootElement(), "AlarmTime");
114 if (alarmTime == null) { 115 if (alarmTime == null) {
115 - return; 116 + continue;
116 } 117 }
117 deviceAlarm.setAlarmTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(alarmTime)); 118 deviceAlarm.setAlarmTime(DateUtil.ISO8601Toyyyy_MM_dd_HH_mm_ss(alarmTime));
118 String alarmDescription = getText(sipMsgInfo.getRootElement(), "AlarmDescription"); 119 String alarmDescription = getText(sipMsgInfo.getRootElement(), "AlarmDescription");
@@ -182,7 +183,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -182,7 +183,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
182 deviceAlarm.setAlarmType(getText(sipMsgInfo.getRootElement().element("Info"), "AlarmType")); 183 deviceAlarm.setAlarmType(getText(sipMsgInfo.getRootElement().element("Info"), "AlarmType"));
183 } 184 }
184 } 185 }
185 - 186 + logger.info("[收到报警通知]内容:{}", JSONObject.toJSON(deviceAlarm));
186 if ("7".equals(deviceAlarm.getAlarmMethod()) ) { 187 if ("7".equals(deviceAlarm.getAlarmMethod()) ) {
187 // 发送给平台的报警信息。 发送redis通知 188 // 发送给平台的报警信息。 发送redis通知
188 AlarmChannelMessage alarmChannelMessage = new AlarmChannelMessage(); 189 AlarmChannelMessage alarmChannelMessage = new AlarmChannelMessage();
@@ -190,7 +191,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -190,7 +191,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
190 alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription()); 191 alarmChannelMessage.setAlarmDescription(deviceAlarm.getAlarmDescription());
191 alarmChannelMessage.setGbId(channelId); 192 alarmChannelMessage.setGbId(channelId);
192 redisCatchStorage.sendAlarmMsg(alarmChannelMessage); 193 redisCatchStorage.sendAlarmMsg(alarmChannelMessage);
193 - return; 194 + continue;
194 } 195 }
195 196
196 logger.debug("存储报警信息、报警分类"); 197 logger.debug("存储报警信息、报警分类");
@@ -198,7 +199,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme @@ -198,7 +199,7 @@ public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent impleme
198 if (sipConfig.isAlarm()) { 199 if (sipConfig.isAlarm()) {
199 deviceAlarmService.add(deviceAlarm); 200 deviceAlarmService.add(deviceAlarm);
200 } 201 }
201 - logger.info("[收到报警通知]内容:{}", JSONObject.toJSON(deviceAlarm)); 202 +
202 if (redisCatchStorage.deviceIsOnline(sipMsgInfo.getDevice().getDeviceId())) { 203 if (redisCatchStorage.deviceIsOnline(sipMsgInfo.getDevice().getDeviceId())) {
203 publisher.deviceAlarmEventPublish(deviceAlarm); 204 publisher.deviceAlarmEventPublish(deviceAlarm);
204 } 205 }
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/MobilePositionNotifyMessageHandler.java
@@ -58,7 +58,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen @@ -58,7 +58,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
58 58
59 private boolean taskQueueHandlerRun = false; 59 private boolean taskQueueHandlerRun = false;
60 60
61 - private final ConcurrentLinkedQueue<SipMsgInfo> taskQueue = new ConcurrentLinkedQueue<>(); 61 + private ConcurrentLinkedQueue<SipMsgInfo> taskQueue = new ConcurrentLinkedQueue<>();
62 62
63 @Qualifier("taskExecutor") 63 @Qualifier("taskExecutor")
64 @Autowired 64 @Autowired
@@ -83,7 +83,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen @@ -83,7 +83,7 @@ public class MobilePositionNotifyMessageHandler extends SIPRequestProcessorParen
83 if (rootElementAfterCharset == null) { 83 if (rootElementAfterCharset == null) {
84 logger.warn("[ 移动设备位置数据通知 ] content cannot be null, {}", sipMsgInfo.getEvt().getRequest()); 84 logger.warn("[ 移动设备位置数据通知 ] content cannot be null, {}", sipMsgInfo.getEvt().getRequest());
85 responseAck(getServerTransaction(sipMsgInfo.getEvt()), Response.BAD_REQUEST); 85 responseAck(getServerTransaction(sipMsgInfo.getEvt()), Response.BAD_REQUEST);
86 - return; 86 + continue;
87 } 87 }
88 MobilePosition mobilePosition = new MobilePosition(); 88 MobilePosition mobilePosition = new MobilePosition();
89 mobilePosition.setCreateTime(DateUtil.getNow()); 89 mobilePosition.setCreateTime(DateUtil.getNow());
src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
@@ -131,6 +131,24 @@ public class PlayServiceImpl implements IPlayService { @@ -131,6 +131,24 @@ public class PlayServiceImpl implements IPlayService {
131 StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId); 131 StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
132 playResult.setDevice(device); 132 playResult.setDevice(device);
133 133
  134 + result.onCompletion(()->{
  135 + // 点播结束时调用截图接口
  136 + taskExecutor.execute(()->{
  137 + // TODO 应该在上流时调用更好,结束也可能是错误结束
  138 + String path = "snap";
  139 + String fileName = deviceId + "_" + channelId + ".jpg";
  140 + WVPResult wvpResult = (WVPResult)result.getResult();
  141 + if (Objects.requireNonNull(wvpResult).getCode() == 0) {
  142 + StreamInfo streamInfoForSuccess = (StreamInfo)wvpResult.getData();
  143 + MediaServerItem mediaInfo = mediaServerService.getOne(streamInfoForSuccess.getMediaServerId());
  144 + String streamUrl = streamInfoForSuccess.getFmp4();
  145 + // 请求截图
  146 + logger.info("[请求截图]: " + fileName);
  147 + zlmresTfulUtils.getSnap(mediaInfo, streamUrl, 15, 1, path, fileName);
  148 + }
  149 + });
  150 + });
  151 +
134 if (streamInfo != null) { 152 if (streamInfo != null) {
135 String streamId = streamInfo.getStream(); 153 String streamId = streamInfo.getStream();
136 if (streamId == null) { 154 if (streamId == null) {
@@ -192,21 +210,6 @@ public class PlayServiceImpl implements IPlayService { @@ -192,21 +210,6 @@ public class PlayServiceImpl implements IPlayService {
192 SSRCInfo ssrcInfo = mediaServerService.openRTPServer(mediaServerItem, streamId, device.isSsrcCheck(), false); 210 SSRCInfo ssrcInfo = mediaServerService.openRTPServer(mediaServerItem, streamId, device.isSsrcCheck(), false);
193 logger.info(JSONObject.toJSONString(ssrcInfo)); 211 logger.info(JSONObject.toJSONString(ssrcInfo));
194 play(mediaServerItem, ssrcInfo, device, channelId, (mediaServerItemInUse, response)->{ 212 play(mediaServerItem, ssrcInfo, device, channelId, (mediaServerItemInUse, response)->{
195 - // 点播结束时调用截图接口  
196 - taskExecutor.execute(()->{  
197 - // TODO 应该在上流时调用更好,结束也可能是错误结束  
198 - String path = "snap";  
199 - String fileName = deviceId + "_" + channelId + ".jpg";  
200 - WVPResult wvpResult = (WVPResult)result.getResult();  
201 - if (Objects.requireNonNull(wvpResult).getCode() == 0) {  
202 - StreamInfo streamInfoForSuccess = (StreamInfo)wvpResult.getData();  
203 - MediaServerItem mediaInfo = mediaServerService.getOne(streamInfoForSuccess.getMediaServerId());  
204 - String streamUrl = streamInfoForSuccess.getFmp4();  
205 - // 请求截图  
206 - logger.info("[请求截图]: " + fileName);  
207 - zlmresTfulUtils.getSnap(mediaInfo, streamUrl, 15, 1, path, fileName);  
208 - }  
209 - });  
210 if (hookEvent != null) { 213 if (hookEvent != null) {
211 hookEvent.response(mediaServerItem, response); 214 hookEvent.response(mediaServerItem, response);
212 } 215 }
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisAlarmMsgListener.java
@@ -16,6 +16,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -16,6 +16,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
16 import org.springframework.stereotype.Component; 16 import org.springframework.stereotype.Component;
17 import org.springframework.util.ObjectUtils; 17 import org.springframework.util.ObjectUtils;
18 18
  19 +import javax.validation.constraints.NotNull;
19 import java.util.List; 20 import java.util.List;
20 import java.util.concurrent.ConcurrentLinkedQueue; 21 import java.util.concurrent.ConcurrentLinkedQueue;
21 22
@@ -36,19 +37,20 @@ public class RedisAlarmMsgListener implements MessageListener { @@ -36,19 +37,20 @@ public class RedisAlarmMsgListener implements MessageListener {
36 37
37 private boolean taskQueueHandlerRun = false; 38 private boolean taskQueueHandlerRun = false;
38 39
39 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 40 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
40 41
41 @Qualifier("taskExecutor") 42 @Qualifier("taskExecutor")
42 @Autowired 43 @Autowired
43 private ThreadPoolTaskExecutor taskExecutor; 44 private ThreadPoolTaskExecutor taskExecutor;
44 45
45 @Override 46 @Override
46 - public void onMessage(Message message, byte[] bytes) { 47 + public void onMessage(@NotNull Message message, byte[] bytes) {
47 logger.info("收到来自REDIS的ALARM通知: {}", new String(message.getBody())); 48 logger.info("收到来自REDIS的ALARM通知: {}", new String(message.getBody()));
48 49
49 taskQueue.offer(message); 50 taskQueue.offer(message);
50 if (!taskQueueHandlerRun) { 51 if (!taskQueueHandlerRun) {
51 taskQueueHandlerRun = true; 52 taskQueueHandlerRun = true;
  53 + logger.info("[线程池信息]活动线程数:{}, 最大线程数: {}", taskExecutor.getActiveCount(), taskExecutor.getMaxPoolSize());
52 taskExecutor.execute(() -> { 54 taskExecutor.execute(() -> {
53 while (!taskQueue.isEmpty()) { 55 while (!taskQueue.isEmpty()) {
54 Message msg = taskQueue.poll(); 56 Message msg = taskQueue.poll();
@@ -56,7 +58,7 @@ public class RedisAlarmMsgListener implements MessageListener { @@ -56,7 +58,7 @@ public class RedisAlarmMsgListener implements MessageListener {
56 AlarmChannelMessage alarmChannelMessage = JSON.parseObject(msg.getBody(), AlarmChannelMessage.class); 58 AlarmChannelMessage alarmChannelMessage = JSON.parseObject(msg.getBody(), AlarmChannelMessage.class);
57 if (alarmChannelMessage == null) { 59 if (alarmChannelMessage == null) {
58 logger.warn("[REDIS的ALARM通知]消息解析失败"); 60 logger.warn("[REDIS的ALARM通知]消息解析失败");
59 - return; 61 + continue;
60 } 62 }
61 String gbId = alarmChannelMessage.getGbId(); 63 String gbId = alarmChannelMessage.getGbId();
62 64
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGbPlayMsgListener.java
@@ -90,7 +90,7 @@ public class RedisGbPlayMsgListener implements MessageListener { @@ -90,7 +90,7 @@ public class RedisGbPlayMsgListener implements MessageListener {
90 90
91 private boolean taskQueueHandlerRun = false; 91 private boolean taskQueueHandlerRun = false;
92 92
93 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 93 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
94 94
95 @Qualifier("taskExecutor") 95 @Qualifier("taskExecutor")
96 @Autowired 96 @Autowired
@@ -121,7 +121,7 @@ public class RedisGbPlayMsgListener implements MessageListener { @@ -121,7 +121,7 @@ public class RedisGbPlayMsgListener implements MessageListener {
121 JSONObject msgJSON = JSON.parseObject(msg.getBody(), JSONObject.class); 121 JSONObject msgJSON = JSON.parseObject(msg.getBody(), JSONObject.class);
122 WvpRedisMsg wvpRedisMsg = JSON.toJavaObject(msgJSON, WvpRedisMsg.class); 122 WvpRedisMsg wvpRedisMsg = JSON.toJavaObject(msgJSON, WvpRedisMsg.class);
123 if (!userSetting.getServerId().equals(wvpRedisMsg.getToId())) { 123 if (!userSetting.getServerId().equals(wvpRedisMsg.getToId())) {
124 - return; 124 + continue;
125 } 125 }
126 if (WvpRedisMsg.isRequest(wvpRedisMsg)) { 126 if (WvpRedisMsg.isRequest(wvpRedisMsg)) {
127 logger.info("[收到REDIS通知] 请求: {}", new String(msg.getBody())); 127 logger.info("[收到REDIS通知] 请求: {}", new String(msg.getBody()));
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisGpsMsgListener.java
@@ -35,7 +35,7 @@ public class RedisGpsMsgListener implements MessageListener { @@ -35,7 +35,7 @@ public class RedisGpsMsgListener implements MessageListener {
35 @Autowired 35 @Autowired
36 private IVideoManagerStorage storager; 36 private IVideoManagerStorage storager;
37 37
38 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 38 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
39 39
40 @Qualifier("taskExecutor") 40 @Qualifier("taskExecutor")
41 @Autowired 41 @Autowired
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamResponseListener.java
@@ -28,7 +28,7 @@ public class RedisPushStreamResponseListener implements MessageListener { @@ -28,7 +28,7 @@ public class RedisPushStreamResponseListener implements MessageListener {
28 28
29 private boolean taskQueueHandlerRun = false; 29 private boolean taskQueueHandlerRun = false;
30 30
31 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 31 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
32 32
33 @Qualifier("taskExecutor") 33 @Qualifier("taskExecutor")
34 @Autowired 34 @Autowired
@@ -53,7 +53,7 @@ public class RedisPushStreamResponseListener implements MessageListener { @@ -53,7 +53,7 @@ public class RedisPushStreamResponseListener implements MessageListener {
53 MessageForPushChannelResponse response = JSON.parseObject(new String(msg.getBody()), MessageForPushChannelResponse.class); 53 MessageForPushChannelResponse response = JSON.parseObject(new String(msg.getBody()), MessageForPushChannelResponse.class);
54 if (response == null || ObjectUtils.isEmpty(response.getApp()) || ObjectUtils.isEmpty(response.getStream())){ 54 if (response == null || ObjectUtils.isEmpty(response.getApp()) || ObjectUtils.isEmpty(response.getStream())){
55 logger.info("[REDIS消息-请求推流结果]:参数不全"); 55 logger.info("[REDIS消息-请求推流结果]:参数不全");
56 - return; 56 + continue;
57 } 57 }
58 // 查看正在等待的invite消息 58 // 查看正在等待的invite消息
59 if (responseEvents.get(response.getApp() + response.getStream()) != null) { 59 if (responseEvents.get(response.getApp() + response.getStream()) != null) {
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamStatusListMsgListener.java
@@ -40,7 +40,7 @@ public class RedisPushStreamStatusListMsgListener implements MessageListener { @@ -40,7 +40,7 @@ public class RedisPushStreamStatusListMsgListener implements MessageListener {
40 40
41 private boolean taskQueueHandlerRun = false; 41 private boolean taskQueueHandlerRun = false;
42 42
43 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 43 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
44 44
45 @Qualifier("taskExecutor") 45 @Qualifier("taskExecutor")
46 @Autowired 46 @Autowired
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisPushStreamStatusMsgListener.java
@@ -42,7 +42,7 @@ public class RedisPushStreamStatusMsgListener implements MessageListener, Applic @@ -42,7 +42,7 @@ public class RedisPushStreamStatusMsgListener implements MessageListener, Applic
42 42
43 43
44 44
45 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 45 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
46 46
47 @Qualifier("taskExecutor") 47 @Qualifier("taskExecutor")
48 @Autowired 48 @Autowired
@@ -61,7 +61,7 @@ public class RedisPushStreamStatusMsgListener implements MessageListener, Applic @@ -61,7 +61,7 @@ public class RedisPushStreamStatusMsgListener implements MessageListener, Applic
61 PushStreamStatusChangeFromRedisDto statusChangeFromPushStream = JSON.parseObject(msg.getBody(), PushStreamStatusChangeFromRedisDto.class); 61 PushStreamStatusChangeFromRedisDto statusChangeFromPushStream = JSON.parseObject(msg.getBody(), PushStreamStatusChangeFromRedisDto.class);
62 if (statusChangeFromPushStream == null) { 62 if (statusChangeFromPushStream == null) {
63 logger.warn("[REDIS消息]推流设备状态变化消息解析失败"); 63 logger.warn("[REDIS消息]推流设备状态变化消息解析失败");
64 - return; 64 + continue;
65 } 65 }
66 // 取消定时任务 66 // 取消定时任务
67 dynamicTask.stop(VideoManagerConstants.VM_MSG_GET_ALL_ONLINE_REQUESTED); 67 dynamicTask.stop(VideoManagerConstants.VM_MSG_GET_ALL_ONLINE_REQUESTED);
src/main/java/com/genersoft/iot/vmp/service/redisMsg/RedisStreamMsgListener.java
@@ -35,7 +35,7 @@ public class RedisStreamMsgListener implements MessageListener { @@ -35,7 +35,7 @@ public class RedisStreamMsgListener implements MessageListener {
35 35
36 private boolean taskQueueHandlerRun = false; 36 private boolean taskQueueHandlerRun = false;
37 37
38 - private final ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>(); 38 + private ConcurrentLinkedQueue<Message> taskQueue = new ConcurrentLinkedQueue<>();
39 39
40 @Qualifier("taskExecutor") 40 @Qualifier("taskExecutor")
41 @Autowired 41 @Autowired
@@ -53,13 +53,13 @@ public class RedisStreamMsgListener implements MessageListener { @@ -53,13 +53,13 @@ public class RedisStreamMsgListener implements MessageListener {
53 JSONObject steamMsgJson = JSON.parseObject(msg.getBody(), JSONObject.class); 53 JSONObject steamMsgJson = JSON.parseObject(msg.getBody(), JSONObject.class);
54 if (steamMsgJson == null) { 54 if (steamMsgJson == null) {
55 logger.warn("[收到redis 流变化]消息解析失败"); 55 logger.warn("[收到redis 流变化]消息解析失败");
56 - return; 56 + continue;
57 } 57 }
58 String serverId = steamMsgJson.getString("serverId"); 58 String serverId = steamMsgJson.getString("serverId");
59 59
60 if (userSetting.getServerId().equals(serverId)) { 60 if (userSetting.getServerId().equals(serverId)) {
61 // 自己发送的消息忽略即可 61 // 自己发送的消息忽略即可
62 - return; 62 + continue;
63 } 63 }
64 logger.info("[收到redis 流变化]: {}", new String(message.getBody())); 64 logger.info("[收到redis 流变化]: {}", new String(message.getBody()));
65 String app = steamMsgJson.getString("app"); 65 String app = steamMsgJson.getString("app");