解决springboot启动报Failed to start bean ‘subProtocolWebSocketHandler‘;
解决springboot启动报 Failed to start bean 'subProtocolWebSocketHandler'; nested exception is java.lang.IllegalArgumentException: No handlers
- 问题发现
- 问题解决
问题发现
使用springboot整合websocket,启动时报错,示例代码:
@EnableWebSocket
@Configuration
public class WebSocketConfig implements WebSocketConfigurer {@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry webSocketHandlerRegistry) {webSocketHandlerRegistry.addHandler(myWebSocketHandler(),"/ws").addInterceptors(new MyHandshakeInterceptor());}@Beanpublic WebSocketHandler myWebSocketHandler() {return new MyWebSocketHandler();}@Beanpublic ServletServerContainerFactoryBean createWebSocketContainer() {ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();container.setMaxBinaryMessageBufferSize(8192); // 设置二进制消息缓冲区大小container.setMaxTextMessageBufferSize(8192); // 设置文本消息缓冲区大小container.setAsyncSendTimeout(5000l); // 设置异步发送超时时间(毫秒)// 其他配置项...return container;}
}
public class MyWebSocketHandler extends TextWebSocketHandler {@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {// 处理接收到的文本消息String payload = message.getPayload();System.out.println("接收到消息:" + payload);// 发送响应消息session.sendMessage(new TextMessage("Hello, client!"));}@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {// WebSocket 连接建立时执行的操作System.out.println("WebSocket 连接已建立");}@Overridepublic void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {// WebSocket 连接关闭时执行的操作System.out.println("WebSocket 连接已关闭");}
}
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketBrokerConfigurer implements WebSocketMessageBrokerConfigurer {}
如图所示:

问题解决
在上述代码中可以看到有两个注解,@EnableWebSocketMessageBroker 和 @EnableWebSocket,同时使用,导致配置错误引起的。由于这两个注解都启用了 WebSocket 功能,因此同时使用它们可能会导致冲突。
两者取其一即可,我们将@EnableWebSocketMessageBroker 删掉,暂时不用基于消息代理。重新启动后,如图:

相关文章:
解决springboot启动报Failed to start bean ‘subProtocolWebSocketHandler‘;
解决springboot启动报 Failed to start bean subProtocolWebSocketHandler; nested exception is java.lang.IllegalArgumentException: No handlers 问题发现问题解决 问题发现 使用springboot整合websocket,启动时报错,示例代码: EnableW…...
什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)
什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)。 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。 一、架构是什么 Linux 有架构,MySQL 有架构,J…...
【多线程】认识Thread类及其常用方法
📄前言: 本文是对以往多线程学习中 Thread类 的介绍,以及对其中的部分细节问题进行总结。 文章目录 一. 线程的 创建和启动🍆1. 通过继承 Thread 类创建线程🍅2. 通过实现 Runnable 接口创建线程🥦3. 其他方…...
多用户商业版 whisper 2.1在线搭建教程
1. 准备工作 购买许可证:确保你已经购买了足够数量的用户许可证,以便所有员工或客户都能使用软件。系统要求:检查你的服务器和客户端计算机是否满足软件的最低系统要求。网络配置:确保你的网络环境(如防火墙、路由器等…...
HEXO搭建个人博客
Hexo是一款基于Node.js的静态博客框架,可以生成静态网页托管在GitHub上。中文文档见HEXO 配置环境 安装Git:下载并安装Git 检查git是否正确安装: git --version 安装Node.js:Node.js 为大多数平台提供了官方的安装程序。注意安装…...
Spring MVC学习之——RequestMapping注解
RequestMapping注解 作用 用于建立请求URL和处理请求方法之间的对应关系。 属性 value:指定请求的实际地址,可以是一个字符串或者一个字符串列表。 value可以不写,直接在括号中写,默认就是value值 RequestMapping(value“/hel…...
鸿蒙原生应用/元服务开发-延迟任务开发实现(二)
一、接口说明 接口名接口描述startWork(work: WorkInfo): void;申请延迟任务stopWork(work: WorkInfo, needCancel?: boolean): void;取消延迟任务getWorkStatus(workId: number, callback: AsyncCallback>): void;获取延迟任务状态(Callback形式)g…...
机器学习在什么场景下最常用-九五小庞
机器学习在多个场景中都有广泛的应用,下面是一些常见的应用场景: 自然语言处理(NLP):如语音识别、自动翻译、情感分析、垃圾邮件过滤等。数据挖掘和分析:如市场分析、用户画像、推荐系统、欺诈检测等。智能…...
利用IP应用场景API识别真实用户
引言 在当今数字化时代,随着互联网的普及和应用的广泛,验证用户身份的重要性变得越来越突出。在许多场景中,特别是在涉及安全性、用户体验以及个人隐私保护方面,确定用户的真实身份至关重要。而IP应用场景API则是一种强大的工具&…...
Hugging Face怎么通过国内镜像去进行模型下载(hf-mirror.com)
一、引言 Hugging Face 🤗是一家专注于自然语言处理(NLP)技术的公司,以其开源贡献和先进的机器学习模型而闻名。该公司最著名的产品是 Transformers 库,这是一个广泛使用的 Python 库,它提供了大量预训练模…...
POKT Network 开启周期性通缩,该计划将持续至 2025 年
POKT Network(也被称为 Pocket Network)在通证经济模型上完成了重大的改进,不仅将通货膨胀率降至 5% 以下,并使 POKT 通证在 2025 年走向通缩的轨迹上,预计到2024 年年底通货膨胀率将降至 2% 以下。POKT Network 的 “…...
LRU Cache
文章目录 1. 什么是LRU Cache2. LRU Cache的实现3. LRU Cache的OJ题目分析AC代码 1. 什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。 什么是Cache? 狭义的Cache指的是位于CPU和主存间的快速RAM…...
软件测试面试题整理
软件测试的几个阶段 在进行Beta测试之前和之后,通常会进行以下几种测试: 内部测试(Internal Testing) 在Beta测试之前,开发团队会进行内部测试,对软件进行全面的测试。这个阶段包括单元测试、集成测试和系…...
C++三剑客之std::variant(二):深入剖析
目录 1.概述 2.辅助类介绍 2.1.std::negation 2.2.std::conjunction 2.3.std::is_destructible 2.4.std::is_object 2.5.is_default_constructible 2.6.std::is_trivially_destructible 2.7.std::in_place_type和std::in_place_index 3.原理分析 3.1.存储分析 3.2.…...
实验一 安装和使用Oracle数据库
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...
软件工程研究生后期总结
写这篇随笔的时候,我已经处于研究生阶段的后期,只剩下一个硕论答辩即可结束研究生生涯。趁有闲暇时间,我希望可以从实习、兼职、论文和求职等几个角度重新整理一下研究生后期的工作和收获,以及对未来工作和生活做出展望。 首先简…...
Java爬虫爬取图片壁纸
Java爬虫 以sougou图片为例:https://pic.sogou.com/ JDK17、SpringBoot3.2.X、hutool5.8.24实现Java爬虫,爬取页面图片 项目介绍 开发工具:IDEA2023.2.5 JDK:Java17 SpringBoot:3.2.x 通过 SpringBoot 快速构建开发环境…...
红队打靶练习:HOLYNIX: V1
目录 信息收集 1、arp 2、netdiscover 3、nmap 4、nikto whatweb 目录探测 1、gobuster 2、dirsearch 3、dirb 4、feroxbuster WEB sqlmap 1、爆库 2、爆表 3、爆列 4、爆字段 后台登录 1、文件上传 2、文件包含 3、越权漏洞 反弹shell 提权 总结 信息…...
elasticsearch[二]-DSL查询语法:全文检索、精准查询(term/range)、地理坐标查询(矩阵、范围)、复合查询(相关性算法)、布尔查询
ES-DSL查询语法(全文检索、精准查询、地理坐标查询) 1.DSL查询文档 elasticsearch 的查询依然是基于 JSON 风格的 DSL 来实现的。 1.1.DSL 查询分类 Elasticsearch 提供了基于 JSON 的 DSL(Domain Specific Language)来定义查…...
Microsoft Word 设置底纹
Microsoft Word 设置底纹 References 打开文档页面,选中特定段落或全部文档 在“段落”中单击“边框”下三角按钮 在列表中选择“边框和底纹”选项 在“边框和底纹”对话框中单击“底纹”选项卡 在图案样式和图案颜色列表中设置合适颜色的底纹,单击“确…...
本地化新闻查询为何总延迟超800ms?Perplexity边缘推理优化方案,实测响应压降至127ms,附Benchmark对比表
更多请点击: https://codechina.net 第一章:本地化新闻查询为何总延迟超800ms?Perplexity边缘推理优化方案,实测响应压降至127ms,附Benchmark对比表 本地化新闻查询高延迟的根本症结,在于传统云端大模型推…...
多版面文章活动公众号管理系统
文章营销活动系统概述基于微擎系统开发的在线交付文章营销推广类源码应用,支持多活动管理、多站点搭建及多版面切换。核心功能包括转发奖励积分或余额,适配文章推广、流量裂变及营销获客需求。核心功能多活动管理 后台可创建并管理多个营销活动ÿ…...
告别手动配置!用Matlab+LUA脚本自动化DCA1000雷达数据采集(附1843配置实例)
雷达数据采集自动化:Matlab与LUA脚本的高效协作方案 在毫米波雷达研发领域,数据采集是每个工程师日常工作中不可或缺的环节。传统的手动配置方式不仅耗时耗力,还容易因人为操作失误导致数据质量不稳定。本文将介绍如何通过Matlab与LUA脚本的协…...
手语数字人技术详解:3D 动画生成、动作自然度优化与实时渲染工程实践
一、前言:手语数字人是 AI 手语翻译的 “最后一公里”在国家信息无障碍政策推动下,AI 手语翻译已从技术实验走向大规模落地。但手语不是文字替换,而是身体动作、手部姿态、面部表情、口型同步的综合表达。传统手语生成普遍存在三大问题&#…...
RISC-V双芯架构在智慧燃气报警器中的系统级设计与工程实践
1. 项目概述:当RISC-V芯遇上智慧燃气最近在深圳的智慧燃气发展论坛上,我注意到一家叫微五科技的芯片设计公司,他们带来了一套挺有意思的解决方案。核心不是别的,正是当下在嵌入式领域越来越火的RISC-V架构。他们这次重点展示的&am…...
你的动漫图片为什么总是不够清晰?3个步骤让AI帮你还原4K级画质
你的动漫图片为什么总是不够清晰?3个步骤让AI帮你还原4K级画质 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN 想象一…...
Agent解析复杂PDF表格时效果极差,如何自动化处理?
斯坦福大学教授、AI领域顶尖学者吴恩达近日明确表示:不会有AI就业末日。在他看来,AI会影响岗位、改变技能要求、也会替代一部分任务,但将其描绘成大规模失业灾难,“是在制造不必要的恐惧,也是不负责任的”。与其担忧被…...
163MusicLyrics:本地音乐歌词缺失的智能解决方案
163MusicLyrics:本地音乐歌词缺失的智能解决方案 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否曾经为本地音乐库中那些"沉默"的歌曲感到困…...
企业级部署警告:Perplexity事实核查功能未开启溯源审计模式的5大合规风险,GDPR/CCPA双认证团队紧急通告
更多请点击: https://codechina.net 第一章:Perplexity事实核查功能的核心机制与合规定位 Perplexity 的事实核查功能并非依赖单一模型输出,而是构建于多层验证架构之上:实时检索增强生成(RAG)、跨源可信度…...
别再死记硬背了!一张图搞懂BST、AVL、红黑树的区别与选型
可视化解析:三大树结构的核心差异与工程实践指南 每次面对技术面试中"为什么Java的TreeMap用红黑树而不用AVL树"这类问题时,你是否会感到一阵心虚?作为曾在多个分布式系统中亲手实现过树结构的工程师,我深刻理解这种困…...
