码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WebSocketSession 发布订阅模式的学习


    问题

    • 存储sessionId和webSocketSession
      • 需要注意的是,webSocketSession没有提供无参构造,不能进行序列化,也就不能通过redis存储
      • 在分布式系统中,要想别的办法实现webSocketSession共享

    原理学习

    发布者:做广播的动作
    订阅者:订阅者需要在启动java的时候就加载进去,必须是这个时刻。否则的话发布消息的时候还没订阅,那广播的动作已经在做,同时订阅和广播就会出现时间差。
    springboot结合redis的发布订阅关键代码

    // 发布
    redisTemplate.convertAndSend("my_topic_name", "message_content");
    
    // 配置订阅
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.addMessageListener(xxxMessageListenerAdapter, "my_topic_name");
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    hollis
    redis.convertAndSend()这个方法的作用为,向某个通道(参数1)推送一条消息(第二个参数)。

    注意:生产者和消费者的通道名要相同。

    gas

    发布订阅是一种消息模式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。
    在这里插入图片描述

    mlwsmqq

    斗者2013
    在这里插入图片描述


    解决

    先看看别人的,运行成功java引导者
    缺陷:
    1要是id对上了即第一次发送就成功了就不用去广播了,加个if判断1
    2还有就是自己这里的usermap是map,而别人的那个是只有一个map
    这里的websocket对象这个是直接继承的。就相当于别人的那个websocketServer(),别人只是重新封装了一下重载
    3我自己的业务要求是2个实例
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    HOLMES通过关联可疑信息流进行实时 APT 检测
    强化您的应用安全,从app加固开始
    Abaqus周期性边界条件
    Docker笔记
    【ES6知识】ESModule 模块化
    Qt QLabel文本框的使用
    CCES软件做开发,如果仿真器连不进目标板怎么解决?(Failed to connect to processor)
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-24-处理单选和多选按钮-上篇
    电影太大怎么压缩变小?
    深入浅出:SPI机制在JDK与Spring Boot中的应用
  • 原文地址:https://blog.csdn.net/weixin_43930851/article/details/127102568
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号