Spring 春季跺脚-即时反应

Spring 春季跺脚-即时反应,spring,angular,spring-boot,stomp,Spring,Angular,Spring Boot,Stomp,我正在实现一个Angular客户端,它通过STOMP连接到spring引导后端。 当客户端连接并想要创建“业务组”时,该组在后端创建并获得UUID;从那时起,其他客户端应该能够发送和接收来自该组的消息 因此,我在目的地中创建了一个带有所述业务组id的主题,类似于 @MessageMapping("/foo/group/{id}") 但是,我希望该组的创建者立即收到业务组id,以便能够自己订阅它。并且能够与其他人共享id(用户对用户) 我以前使用过原始套接字,所以我可以只使用连接用户的会话,然后

我正在实现一个Angular客户端,它通过STOMP连接到spring引导后端。 当客户端连接并想要创建“业务组”时,该组在后端创建并获得UUID;从那时起,其他客户端应该能够发送和接收来自该组的消息

因此,我在目的地中创建了一个带有所述业务组id的主题,类似于

@MessageMapping("/foo/group/{id}")
但是,我希望该组的创建者立即收到业务组id,以便能够自己订阅它。并且能够与其他人共享id(用户对用户)

我以前使用过原始套接字,所以我可以只使用连接用户的会话,然后在用户发送创建消息后将id发送回给他。但是,由于会话处理是基于业务组ID的(因此,只有特定组中的用户才能接收来自该组的消息),因此必须手动完成用户会话与业务组ID的整个划分,我希望将其升级到能够为我进行该处理的功能

然而,我不知道如何实现这一点与春天跺脚。所以我的问题是,这样一个群体的创造者有没有办法立即收到id作为对其最初“请求”的回答/响应? 因为他在收到组id之前不能订阅任何内容

背景:


它基本上就像一个聊天应用程序,用户可以创建一个群组/聊天室,然后与其他人共享(通过URL-其中包含ID);每个订阅它的人都可以从它那里接收MSG并将MSG发送到它。但要做到这一点,创建者首先需要创建的ID。

我找到了一个解决方案。这可以通过@SendToUser完成

@MessageMapping("/group.create")
@SendToUser(value="/topic/group.create", broadcast=false)
public Response createGroup(@Payload Message message) {
  ...
  return createResponseWithId();
}
另一方面,您只需要订阅“/user/topic/group.create”