Record Class WebSocketMessagingTemplate
java.lang.Object
java.lang.Record
cn.herodotus.engine.message.websocket.messaging.WebSocketMessagingTemplate
public record WebSocketMessagingTemplate(org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate, org.springframework.messaging.simp.user.SimpUserRegistry simpUserRegistry)
extends Record
Description: WebSocket 消息发送模版
单独抽取一个 MessagingTemplate 用作 WebSocket 消息发送的基本操作类。
MultipleInstanceMessageSender、SingleInstanceMessageSender 和 MultipleInstanceMessageSyncConsumer 三个类均使用该类进行基础操作。
这样做的原因是多实例情况下还包含消息的同步,发送消息同步的实例既是同步消息的生产者,又是消费者。如果统一使用 WebSocketMessageSender 注入的 Bean。就不好区分各种情况,就会出现发送同步消息,存在循环发送消息的风险。
- 作者:
- : gengwei.zheng
- Date:
- : 2023/10/26 23:26
-
构造器概要
构造器构造器说明WebSocketMessagingTemplate(org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate, org.springframework.messaging.simp.user.SimpUserRegistry simpUserRegistry) 创建WebSocketMessagingTemplate记录的实例。 -
方法概要
修饰符和类型方法说明void发送 WebSocket 广播消息。final boolean指示某个其他对象是否“等于”此对象。org.springframework.messaging.simp.user.SimpUser根据用户 ID 获取到对应的 WebSocket 用户final inthashCode()返回此对象的哈希代码值。booleanisUserExist(String userId) 判断 WebSocket用户是否存在。voidpointToPoint(String user, String destination, Object payload) 发送 WebSocket 点对点消息。org.springframework.messaging.simp.SimpMessagingTemplate返回simpMessagingTemplate记录组件的值。org.springframework.messaging.simp.user.SimpUserRegistry返回simpUserRegistry记录组件的值。final StringtoString()返回此记录的字符串表示形式。
-
构造器详细资料
-
WebSocketMessagingTemplate
public WebSocketMessagingTemplate(org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate, org.springframework.messaging.simp.user.SimpUserRegistry simpUserRegistry) 创建WebSocketMessagingTemplate记录的实例。- 参数:
simpMessagingTemplate-simpMessagingTemplate记录组件的值simpUserRegistry-simpUserRegistry记录组件的值
-
-
方法详细资料
-
pointToPoint
发送 WebSocket 点对点消息。发送信息给指定用户- 参数:
user- 用户唯一标识destination- 消息同奥payload- 消息内容
-
broadcast
发送 WebSocket 广播消息。发送全员信息- 参数:
destination- 消息同奥payload- 消息内容
-
getUser
根据用户 ID 获取到对应的 WebSocket 用户- 参数:
userId- 系统用户ID- 返回:
- WebSocket 用户
SimpUser
-
isUserExist
判断 WebSocket用户是否存在。注意:只能查询到当前所在 WebSocket实例中的实时 WebSocket 用户信息。如果实时用户在不同的实例中,则查询不到。
- 参数:
userId- 用户ID- 返回:
- true 用户存在,false 用户不存在
-
toString
返回此记录的字符串表示形式。此表示形式包含类型的名称,后跟每个记录组件的名称和值。 -
hashCode
public final int hashCode()返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。 -
equals
指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录中的所有组件都使用Objects::equals(Object,Object)进行比较。 -
simpMessagingTemplate
public org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate()返回simpMessagingTemplate记录组件的值。- 返回:
simpMessagingTemplate记录组件的值
-
simpUserRegistry
public org.springframework.messaging.simp.user.SimpUserRegistry simpUserRegistry()返回simpUserRegistry记录组件的值。- 返回:
simpUserRegistry记录组件的值
-