Browse Source

重连读报警加上异常处理

menglu 3 years ago
parent
commit
072d95a81b

+ 2 - 8
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/RWDAlarmUtil.java

@@ -680,11 +680,7 @@ public class RWDAlarmUtil {
 		RepositoryContainer.instance.recomputeAlarm();
 	}
 
-	public static int refresh() throws Exception {
-		JSONObject AlarmJob = new JSONObject();
-		AlarmJob.put("type", "refresh");
-		RepositoryContainer.RepositoryProject.alarmBuffer.offer(AlarmJob, 16384);
-
+	public static JSONArray refresh() throws Exception {
 		JSONArray Content;
 		if (Constant.alarm_service_name.equalsIgnoreCase("ibms-alarm")) {
 			Content = new JSONArray();
@@ -778,9 +774,7 @@ public class RWDAlarmUtil {
 				log.error(LogUtil.GetExceptionStackTrace(e));
 			}
 		}
-
-		AlarmJob.put("Content", Content);
-		return Content.size();
+		return Content;
 	}
 
 	public static String handleAlarm(String param) {

+ 14 - 3
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/websocket/AlarmWebSocketClient.java

@@ -6,6 +6,7 @@ import org.java_websocket.client.WebSocketClient;
 import org.java_websocket.handshake.ServerHandshake;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.persagy.ibms.core.util.LogUtil;
 import com.persagy.ibms.data.sdk.util.RWDAlarmUtil;
@@ -33,10 +34,20 @@ public class AlarmWebSocketClient extends WebSocketClient {
 			public void run() {
 				try {
 					log.warn("onOpen refresh begin");
-					int alarm_size = RWDAlarmUtil.refresh();
-					log.warn("onOpen refresh finish alarm count: " + alarm_size);
+					JSONObject AlarmJob = new JSONObject();
+					AlarmJob.put("type", "refresh");
+					RepositoryContainer.RepositoryProject.alarmBuffer.offer(AlarmJob, 16384);
+					JSONArray Content;
+					try {
+						Content = RWDAlarmUtil.refresh();
+					} catch (Exception e) {
+						log.error(e.getMessage(), e);
+						Content = new JSONArray();
+					}
+					AlarmJob.put("Content", Content);
+					log.warn("onOpen refresh finish alarm count: " + Content.size());
 				} catch (Exception e) {
-					e.printStackTrace();
+					log.error(e.getMessage(), e);
 				}
 			}
 		};