基于springboot实现websocket实时通讯启动项目报错

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

Bug笔记0009

  • 描述
  • 报错
  • 分析
  • 解决

描述

基于springboot实现即时通讯websocket服务端启动项目时出现报错

报错

截图
基于springboot实现websocket实时通讯启动项目报错_第1张图片
报错代码

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-08-29 18:44:46.306 ERROR 25268 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'webSocketHandlerServer', defined in class path resource [com/websocket/config/WebSocketHandlerConfig.class], could not be registered. A bean with that name has already been defined in file [E:\WORKPROJECTS\USPS\websocket_server\target\classes\com\websocket\server2\WebSocketHandlerServer.class] and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true


Process finished with exit code 1

大致意思就是会所这个bean已经存在,但启动时在另一个地方已经有了,所以在这里注册不了

分析

在报错的下方Action中已经给出了两个方法
将两个bean只保留一个,或者在配置中加入配置参数使bean重写打开,即如果有多个相同的bean就覆盖
由于我们配置的配置类中的确需要创建这样的bean,但在另一个类中也的确需要使用bean
既然这个改变不了,就只能选择后者

解决

在yml文件中配置参数

spring:
  main:
    allow-bean-definition-overriding: true

重启项目
项目正常运行
基于springboot实现websocket实时通讯启动项目报错_第2张图片

感谢阅读,祝君暴富!


你可能感兴趣的:(BaseAndView,spring,boot,websocket,后端)