From bb6f09aeedfd58b871ad0afa08392056da39e77f Mon Sep 17 00:00:00 2001 From: lxw <810412026@qq.com> Date: 星期一, 24 四月 2023 19:06:10 +0800 Subject: [PATCH] 国际化告警滚动 --- src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java b/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java index 0715712..f1ef487 100644 --- a/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java +++ b/src/main/java/com/whyc/webSocket/InterfaceAlarmSocket.java @@ -1,12 +1,12 @@ package com.whyc.webSocket; -import com.whyc.dto.InterfaceParam; +import com.whyc.config.WebSocketConfig; import com.whyc.dto.Response; import com.whyc.service.InterfaceService; -import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpSession; import javax.websocket.*; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; @@ -15,35 +15,40 @@ import java.util.Map; @Component -@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}",encoders = WebSocketEncoder.class) +@ServerEndpoint(value = "/interfaceAlarm/{interfaceNumber}", encoders = WebSocketEncoder.class, configurator = WebSocketConfig.class) public class InterfaceAlarmSocket { private volatile Thread thread; private static final int executeTime = 10000; - private volatile boolean runFlag=true; + private volatile boolean runFlag = true; - private volatile Map<String,Thread> threadMap = new HashMap<>(); + private volatile Map<String, Thread> threadMap = new HashMap<>(); - private volatile Map<Long,Boolean> threadFlagMap = new HashMap<>(); + private volatile Map<Long, Boolean> threadFlagMap = new HashMap<>(); private static InterfaceService service; private Session session; + + private HttpSession httpSession; + @Autowired - public void setService(InterfaceService service){ + public void setService(InterfaceService service) { InterfaceAlarmSocket.service = service; } @OnOpen - public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber){ - this.session=session; + public void onOpen(Session session, @PathParam("interfaceNumber") String interfaceNumber, EndpointConfig config) { + this.session = session; + this.httpSession = (HttpSession) config.getUserProperties().get("httpSession"); + String lang = (String) this.httpSession.getAttribute("lang"); Thread thread = new Thread() { @Override public void run() { try { while (!currentThread().isInterrupted()) { - Response res = service.getAlarmDiffMap(interfaceNumber); + Response res = service.getAlarmDiffMap(interfaceNumber, lang); session.getBasicRemote().sendObject(res); sleep(4000); } -- Gitblit v1.9.1