SseController.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.genersoft.iot.vmp.vmanager.SseController;
  2. import com.genersoft.iot.vmp.gb28181.event.alarm.AlarmEventListener;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Controller;
  5. import org.springframework.web.bind.annotation.CrossOrigin;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestParam;
  8. import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
  9. /**
  10. * @description: SSE推送
  11. * @author: lawrencehj
  12. * @data: 2021-01-20
  13. */
  14. @CrossOrigin
  15. @Controller
  16. @RequestMapping("/api")
  17. public class SseController {
  18. @Autowired
  19. AlarmEventListener alarmEventListener;
  20. //设置响应
  21. @RequestMapping("/emit")
  22. public SseEmitter emit(@RequestParam String browserId) {
  23. final SseEmitter sseEmitter = new SseEmitter(0L);
  24. try {
  25. alarmEventListener.addSseEmitters(browserId, sseEmitter);
  26. }catch (Exception e){
  27. sseEmitter.completeWithError(e);
  28. }
  29. return sseEmitter;
  30. }
  31. }