业务数据解绑
在业务数据绑定的场景中,解绑是与绑定相对应的操作,用于解除 ChannelContext
与业务数据的关联关系。解绑操作非常重要,特别是在处理用户下线、会话过期等情况时。下面直接展示解绑操作的源代码:
/**
* 解绑业务 ID
* @param channelContext
*/
public static void unbindBsId(ChannelContext channelContext) {
channelContext.tioConfig.bsIds.unbind(channelContext);
}
/**
* 解除与所有组的绑定关系
* @param channelContext
*/
public static void unbindGroup(ChannelContext channelContext) {
channelContext.tioConfig.groups.unbind(channelContext);
}
/**
* 解除与指定组的绑定关系
* @param group
* @param channelContext
*/
public static void unbindGroup(String group, ChannelContext channelContext) {
channelContext.tioConfig.groups.unbind(group, channelContext);
}
/**
* 解除绑定的 Token
* @param channelContext
*/
public static void unbindToken(ChannelContext channelContext) {
channelContext.tioConfig.tokens.unbind(channelContext);
}
/**
* 解除绑定的用户 ID
* @param channelContext
*/
public static void unbindUser(ChannelContext channelContext) {
channelContext.tioConfig.users.unbind(channelContext);
}
/**
* 解除用户 ID 的绑定,一般用于多地登录,踢掉前面登录的场景
* @param tioConfig
* @param userid
*/
public static void unbindUser(TioConfig tioConfig, String userid) {
tioConfig.users.unbind(tioConfig, userid);
}
资源解绑方法的详细说明
解绑业务 ID (
unbindBsId
)
解除ChannelContext
与业务 ID 的关联。常用于业务逻辑结束或用户下线时。解除与所有组的绑定关系 (
unbindGroup
)
解除ChannelContext
与所有群组的关联。这在清理用户状态、强制下线等场景中非常实用。解除与指定组的绑定关系 (
unbindGroup
)
解除ChannelContext
与特定群组的关联,可以用于从某个特定的群组中移除用户。解除绑定的 Token (
unbindToken
)
解除ChannelContext
与 Token 的关联,用于用户注销或身份验证失效时。解除绑定的用户 ID (
unbindUser
)
解除ChannelContext
与用户 ID 的关联,在用户下线或会话过期时使用。解除用户 ID 的绑定(用于多地登录场景) (
unbindUser
)
通过TioConfig
解除用户 ID 的绑定,一般用于多地登录的场景,如踢掉前面的登录用户。
通过这些解绑操作,可以确保 ChannelContext
不再与不必要的业务数据关联,有效地释放资源,防止业务逻辑中的冗余状态。