Java 如何将事件数据和事件名称从spring boot发送到angular?

Java 如何将事件数据和事件名称从spring boot发送到angular?,java,angular,spring-boot,events,event-handling,Java,Angular,Spring Boot,Events,Event Handling,我正在用Angular和spring boot开发聊天应用程序。我在Angular中使用EventSource,在Spring boot中使用ApplicationEventPublisher接口。现在,我想将事件数据和事件名称从spring boot发送到angular,以便eventSource.addListener(“eventName”,()=>{})将根据事件名称捕获事件。请告诉我如何将事件数据和事件名称从spring boot发送到angular。 我的spring启动控制器: @

我正在用Angular和spring boot开发聊天应用程序。我在Angular中使用
EventSource
,在Spring boot中使用
ApplicationEventPublisher
接口。现在,我想将事件数据和事件名称从spring boot发送到angular,以便
eventSource.addListener(“eventName”,()=>{})
将根据事件名称捕获事件。请告诉我如何将事件数据和事件名称从spring boot发送到angular。 我的spring启动控制器:

@CrossOrigin("*")
@RestController
public class MessageController {

    @Autowired
    MessageService messageService;

    @Autowired
    ApplicationEventPublisher applicationEventPublisher;

    private static final Logger logger = LoggerFactory.getLogger(MessageController.class);

    @GetMapping(value = "/event/")
    public void getEvent(@RequestHeader(value = "Content-Type", defaultValue = "text/event-stream")) 
    {
        logger.info("AWSTranslateController:: getEvent() method /event");
        MessageEvent messageEvent = new MessageEvent (this, "receiver3", response);
        applicationEventPublisher.publishEvent(messageEvent );
    }
}
springboot消息事件POJO:

public class MessageEvent extends ApplicationEvent{
    private static final long serialVersionUID = 1L;
    private Object eventResponse;
    private String eventName;

    public MessageEvent(Object source, String eventName, Object eventResponse) {
        super(source);
        this.eventName = eventName;
       this.eventResponse = eventResponse;
    }

    public Object getEventResponse() {
        return eventResponse;
    }

    public String getEventName() {
        return eventName;
    }

}

在角度方面创建监听服务,解决方案可能是使用WebSocket概念。一旦您的套接字端口准备好接收请求,您就可以使用消息ping事件