Spring STOMP - 即时响应
Spring STOMP - immediate response
我正在实施一个 Angular 客户端,它通过 STOMP 连接到 spring 引导后端。
当客户端连接并想要创建一个 "business-group" 时,该组在后端创建并获得一个 UUID;从那一刻起,其他客户端应该能够向该组发送消息并从该组接收消息。
所以我在目标中创建了一个带有所述业务组 ID 的主题 - 类似于
@MessageMapping("/foo/group/{id}")
但是我希望群组的创建者立即收到业务群组 ID,以便他自己也能够订阅。并能够与其他人(用户对用户)共享 ID。
我以前为此使用过原始套接字,所以我可以只使用已连接用户的会话,然后在发送创建消息后将 id 发回给他。但是由于会话处理是基于业务组 ID 的(因此只有特定组中的用户才能收到来自该组的消息),因此必须手动完成按业务组 ID 划分用户会话的整个过程,我正在寻找将其升级为可以为我处理的东西。
但是我不确定如何使用 spring 踩踏来实现这一点。所以我的问题是,有没有办法让这样一个组的创建者立即将 id 作为 answer/response 接收到他的初始 "request"?
因为他在收到群id之前不能订阅任何东西
背景:
它基本上就像一个聊天应用程序,用户可以在其中创建 group/chatroom 然后与他人共享(通过 URL - 其中包含 ID);每个订阅它的人都可以从它接收消息并将消息发送到它。但是创建者首先需要创建 ID。
我找到了解决办法。这可以通过@SendToUser
完成
@MessageMapping("/group.create")
@SendToUser(value="/topic/group.create", broadcast=false)
public Response createGroup(@Payload Message message) {
...
return createResponseWithId();
}
在另一端你只需要订阅'/user/topic/group.create'。
我正在实施一个 Angular 客户端,它通过 STOMP 连接到 spring 引导后端。 当客户端连接并想要创建一个 "business-group" 时,该组在后端创建并获得一个 UUID;从那一刻起,其他客户端应该能够向该组发送消息并从该组接收消息。
所以我在目标中创建了一个带有所述业务组 ID 的主题 - 类似于
@MessageMapping("/foo/group/{id}")
但是我希望群组的创建者立即收到业务群组 ID,以便他自己也能够订阅。并能够与其他人(用户对用户)共享 ID。
我以前为此使用过原始套接字,所以我可以只使用已连接用户的会话,然后在发送创建消息后将 id 发回给他。但是由于会话处理是基于业务组 ID 的(因此只有特定组中的用户才能收到来自该组的消息),因此必须手动完成按业务组 ID 划分用户会话的整个过程,我正在寻找将其升级为可以为我处理的东西。
但是我不确定如何使用 spring 踩踏来实现这一点。所以我的问题是,有没有办法让这样一个组的创建者立即将 id 作为 answer/response 接收到他的初始 "request"? 因为他在收到群id之前不能订阅任何东西
背景:
它基本上就像一个聊天应用程序,用户可以在其中创建 group/chatroom 然后与他人共享(通过 URL - 其中包含 ID);每个订阅它的人都可以从它接收消息并将消息发送到它。但是创建者首先需要创建 ID。
我找到了解决办法。这可以通过@SendToUser
完成@MessageMapping("/group.create")
@SendToUser(value="/topic/group.create", broadcast=false)
public Response createGroup(@Payload Message message) {
...
return createResponseWithId();
}
在另一端你只需要订阅'/user/topic/group.create'。