update 优化 sse发送消息 增加token有效期判断

This commit is contained in:
疯狂的狮子Li
2024-07-29 12:45:20 +08:00
parent 9a28dff2fc
commit 19b95040cd

View File

@@ -1,5 +1,6 @@
package org.dromara.common.sse.core;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.collection.CollUtil;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.redis.utils.RedisUtils;
@@ -71,6 +72,11 @@ public class SseEmitterManager {
if (emitters != null) {
for (Map.Entry<String, SseEmitter> entry : emitters.entrySet()) {
try {
// token 无效或已过期
if (StpUtil.stpLogic.getTokenActiveTimeoutByToken(entry.getKey()) < -1) {
emitters.remove(entry.getKey());
continue;
}
entry.getValue().send(SseEmitter.event()
.name("message")
.data(message));