From b8d9af65e2e60fcfb448d277b0ed3daef9688b2d Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: 星期五, 09 八月 2024 17:24:44 +0800 Subject: [PATCH] update 增加sse注释说明 --- ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java | 37 ++++++++++++++++++++++++++++++++++++- 1 files changed, 36 insertions(+), 1 deletions(-) diff --git a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java index 57c7c1e..e5331e4 100644 --- a/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java +++ b/ruoyi-common/ruoyi-common-sse/src/main/java/org/dromara/common/sse/controller/SseController.java @@ -1,11 +1,14 @@ package org.dromara.common.sse.controller; +import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.stp.StpUtil; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.sse.core.SseEmitterManager; import org.dromara.common.sse.dto.SseMessageDto; +import org.springframework.beans.factory.DisposableBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -13,12 +16,21 @@ import java.util.List; +/** + * SSE 鎺у埗鍣� + * + * @author Lion Li + */ @RestController +@ConditionalOnProperty(value = "sse.enabled", havingValue = "true") @RequiredArgsConstructor -public class SseController { +public class SseController implements DisposableBean { private final SseEmitterManager sseEmitterManager; + /** + * 寤虹珛 SSE 杩炴帴 + */ @GetMapping(value = "${sse.path}", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public SseEmitter connect() { String tokenValue = StpUtil.getTokenValue(); @@ -26,6 +38,10 @@ return sseEmitterManager.connect(userId, tokenValue); } + /** + * 鍏抽棴 SSE 杩炴帴 + */ + @SaIgnore @GetMapping(value = "${sse.path}/close") public R<Void> close() { String tokenValue = StpUtil.getTokenValue(); @@ -34,6 +50,12 @@ return R.ok(); } + /** + * 鍚戠壒瀹氱敤鎴峰彂閫佹秷鎭� + * + * @param userId 鐩爣鐢ㄦ埛鐨� ID + * @param msg 瑕佸彂閫佺殑娑堟伅鍐呭 + */ @GetMapping(value = "${sse.path}/send") public R<Void> send(Long userId, String msg) { SseMessageDto dto = new SseMessageDto(); @@ -43,10 +65,23 @@ return R.ok(); } + /** + * 鍚戞墍鏈夌敤鎴峰彂閫佹秷鎭� + * + * @param msg 瑕佸彂閫佺殑娑堟伅鍐呭 + */ @GetMapping(value = "${sse.path}/sendAll") public R<Void> send(String msg) { sseEmitterManager.publishAll(msg); return R.ok(); } + /** + * 娓呯悊璧勬簮銆傛鏂规硶鐩墠涓嶆墽琛屼换浣曟搷浣滐紝浣嗛伩鍏嶅洜鏈疄鐜拌�屽鑷撮敊璇� + */ + @Override + public void destroy() throws Exception { + // 閿�姣佹椂涓嶉渶瑕佸仛浠�涔� 姝ゆ柟娉曢伩鍏嶆棤鐢ㄦ搷浣滄姤閿� + } + } -- Gitblit v1.9.3