重构报警SSE推送

This commit is contained in:
648540858
2024-10-29 15:57:52 +08:00
parent caf9e99939
commit 5304620861
10 changed files with 94 additions and 92 deletions

View File

@@ -1,16 +1,16 @@
package com.genersoft.iot.vmp.gb28181.controller;
import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEventListener;
import com.genersoft.iot.vmp.gb28181.session.SseSessionManager;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
@@ -26,22 +26,17 @@ import java.io.PrintWriter;
public class SseController {
@Resource
private AlarmEventListener alarmEventListener;
private SseSessionManager sseSessionManager;
/**
* SSE 推送.
*
* @param response 响应
* @param browserId 浏览器ID
* @throws IOException IOEXCEPTION
* @author <a href="mailto:xiaoQQya@126.com">xiaoQQya</a>
* @since 2023/11/06
*/
@GetMapping("/emit")
public void emit(HttpServletResponse response, @RequestParam String browserId) throws IOException, InterruptedException {
response.setContentType("text/event-stream");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
alarmEventListener.addSseEmitter(browserId, writer);
public SseEmitter emit(HttpServletResponse response, @RequestParam String browserId) throws IOException, InterruptedException {
// response.setContentType("text/event-stream");
// response.setCharacterEncoding("utf-8");
return sseSessionManager.conect(browserId);
}
}