1.如果Sse连接不存在不发送消息
This commit is contained in:
@@ -18,12 +18,14 @@ import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StopWatch;
|
||||
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/6/10 19:04
|
||||
@@ -56,10 +58,14 @@ public class HostInfoServiceImpl extends ServiceImpl<NewHostsMapper, NewHosts> i
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
stopWatch.start();
|
||||
saveBatch(newHosts);
|
||||
newHosts.forEach(newHost -> {
|
||||
SseEmitterUtil.sendMessage(newHost.getTenantId().toString()+"-"+newHost.getUserId().toString(),
|
||||
JsonUtils.toJsonString(newHost));
|
||||
});
|
||||
NewHosts sseConnectConfirmInfo = newHosts.get(0);
|
||||
SseEmitter sseEmitter = SseEmitterUtil.getSseEmitter(sseConnectConfirmInfo.getTenantId().toString() + "-" + sseConnectConfirmInfo.getUserId().toString());
|
||||
if (sseEmitter != null) {
|
||||
newHosts.forEach(newHost -> {
|
||||
SseEmitterUtil.sendMessage(newHost.getTenantId().toString()+"-"+newHost.getUserId().toString(),
|
||||
JsonUtils.toJsonString(newHost));
|
||||
});
|
||||
}
|
||||
stopWatch.stop();
|
||||
long totalTimeMillis = stopWatch.getTotalTimeMillis();
|
||||
log.info("当前存储数据量大小 {}, 存储花费: {}ms",newHosts.size(),totalTimeMillis);
|
||||
|
||||
Reference in New Issue
Block a user