From 981656d583e04274b4d828dc77636243dc169b88 Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期二, 03 十二月 2024 16:00:06 +0800 Subject: [PATCH] 1. 新增BgTask状态修改函数:先修改状态后发送状态回调 2. WebSocketMessageDecoder 改名 WebSocketMessageParser --- src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketSendMessageUtil.java | 2 +- src/main/kotlin/cn/flightfeather/supervision/socket/processor/WebSocketReceiver.kt | 4 ++-- src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageParser.java | 2 +- src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt | 15 +++++++++------ src/main/kotlin/cn/flightfeather/supervision/socket/config/SPTextWebSocketHandler.kt | 4 ++-- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt index 2ed156b..3a0b2b1 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTask.kt @@ -17,8 +17,8 @@ var future: Future<*>? = null fun ready() { - taskStatus.status = TaskStatus.RUNNING taskStatus.startTime = LocalDateTime.now() + setStatus(TaskStatus.RUNNING) } fun execute() { @@ -32,26 +32,29 @@ } fun success() { - taskStatus.status = TaskStatus.SUCCESS complete() - onStatusChange(taskStatus) + setStatus(TaskStatus.SUCCESS) } fun fail() { - taskStatus.status = TaskStatus.FAIL complete() - onStatusChange(taskStatus) + setStatus(TaskStatus.FAIL) } fun shutdown() { if (future?.isCancelled == false && !future!!.isDone) { future!!.cancel(true) } - taskStatus.status = TaskStatus.SHUTDOWN complete() + setStatus(TaskStatus.SHUTDOWN) } fun complete() { taskStatus.endTime = LocalDateTime.now() } + + fun setStatus(status: TaskStatus) { + taskStatus.status = status + onStatusChange(taskStatus) + } } \ No newline at end of file diff --git a/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageDecoder.java b/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageParser.java similarity index 97% rename from src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageDecoder.java rename to src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageParser.java index 7603ebc..e3ba70f 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageDecoder.java +++ b/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketMessageParser.java @@ -3,7 +3,7 @@ import cn.flightfeather.supervision.common.utils.JsonUtil; import org.springframework.util.StringUtils; -public class WebSocketMessageDecoder { +public class WebSocketMessageParser { private static final String START_STR = "##"; private static final String SPLIT_STR = "&&"; private static final String END_STR = "%%"; diff --git a/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketSendMessageUtil.java b/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketSendMessageUtil.java index 5fa8920..9c3b535 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketSendMessageUtil.java +++ b/src/main/kotlin/cn/flightfeather/supervision/socket/WebSocketSendMessageUtil.java @@ -12,7 +12,7 @@ public static void sendBgTaskMessage(BgTaskStatus bgTaskStatus) { WebSocketMessage webSocketMessage = new WebSocketMessage(Constant.SocketMessageType.BG_TASK.getValue(), bgTaskStatus); - String message = WebSocketMessageDecoder.encodeMessage(webSocketMessage); + String message = WebSocketMessageParser.encodeMessage(webSocketMessage); WebSocketSenderHandler.getInstance().broadcast(message); } } diff --git a/src/main/kotlin/cn/flightfeather/supervision/socket/config/SPTextWebSocketHandler.kt b/src/main/kotlin/cn/flightfeather/supervision/socket/config/SPTextWebSocketHandler.kt index e66e71e..bf27c37 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/socket/config/SPTextWebSocketHandler.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/socket/config/SPTextWebSocketHandler.kt @@ -1,7 +1,7 @@ package cn.flightfeather.supervision.socket.config import cn.flightfeather.supervision.common.utils.Constant -import cn.flightfeather.supervision.socket.WebSocketMessageDecoder +import cn.flightfeather.supervision.socket.WebSocketMessageParser import cn.flightfeather.supervision.socket.WsSessionManager import cn.flightfeather.supervision.socket.processor.WebSocketReceiver import org.springframework.stereotype.Component @@ -47,7 +47,7 @@ val payload = message.payload val sessionId = session.attributes["session_id"] println("server 鎺ユ敹鍒� $sessionId 鍙戦�佺殑 $payload") - if (WebSocketMessageDecoder.decodeMessage(payload).type == + if (WebSocketMessageParser.decodeMessage(payload).type == Constant.SocketHeartMessageType.HEART_MESSAGE_TYPE.value) { webSocketReceiver.onReceiveHeartMsg(payload, sessionId.toString()) } diff --git a/src/main/kotlin/cn/flightfeather/supervision/socket/processor/WebSocketReceiver.kt b/src/main/kotlin/cn/flightfeather/supervision/socket/processor/WebSocketReceiver.kt index dcce685..6f6d837 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/socket/processor/WebSocketReceiver.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/socket/processor/WebSocketReceiver.kt @@ -4,7 +4,7 @@ import cn.flightfeather.supervision.common.log.WorkStreamLogInfo import cn.flightfeather.supervision.common.utils.Constant import cn.flightfeather.supervision.socket.WebSocketMessage -import cn.flightfeather.supervision.socket.WebSocketMessageDecoder +import cn.flightfeather.supervision.socket.WebSocketMessageParser import org.springframework.stereotype.Component import java.time.LocalDateTime @@ -30,7 +30,7 @@ * 鎺ユ敹蹇冭烦娑堟伅澶勭悊 */ fun onReceiveHeartMsg(msg: String, sessionId: String) { - val content = WebSocketMessageDecoder.encodeMessage(WebSocketMessage(Constant.SocketHeartMessageType.HEART_MESSAGE_TYPE.value, + val content = WebSocketMessageParser.encodeMessage(WebSocketMessage(Constant.SocketHeartMessageType.HEART_MESSAGE_TYPE.value, LocalDateTime.now())) webSocketSender.sendMsg(content, sessionId) } -- Gitblit v1.9.3