当前位置: 首页 > 知识库问答 >
问题:

具有Spring安全启动的Spring web套接字失败,原因是"没有定义名为'StumpWebSocketHandlerMap'的bean"

燕和裕
2023-03-14

spring boot 1.3.0版发布。

错误日志是

13:00:50.888[main]ERRORo.s.boot.SpringApplication-应用程序启动失败org.springframework.beans.factory.NoSuchBean定义异常:在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean定义(DefaultListableBeanFactory.java:698)~[sping-bean-4.2.3中没有定义名为'StumpWebSocketHandlerMap'的bean。jar: 4.2.3.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBean定义(AbstractBeanFactory.java:1175)~[Spring Bean-4.2.3。jar: 4.2.3.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)~[Spring-bean-4.2.3。jar: 4.2.3.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)~[Spring-bean-4.2.3。jar: 4.2.3.RELEASE]在org.springframework.context.support.AbstractApplication ationContext.getBean(AbstractApplication ationContext.java:1057)~[sping-encent-4.2.3.jar: 4.2.3.RELEASE]在org.springframework.security.config.annotation.web.socket.AbstractSecurityWebSocketMessageBrokerConfigurer.afterSingletonsInstantiated(AbstractSecurityWebSocketMessageBrokerConfigurer.java:222)~[sping-security-config-4.0.3.发布. jar: 4.0.3。发布]在org. springframework. beans. factory. support。DefaultListableBeanFactory. preInstantiateSingletons(DefaultListableBeanFactory. java: 792)~[sping-bean-4.2.3.jar: 4.2.3.发布]在org. springframework. background. support。AbstractApplication ationContext4. finishBeanFactory初始化(AbstractApplication ationContext4. java: 838)~[sping-encage-4.2.3.jar: 4.2.3.发布]在org. springframework.上下文. support。java: 537)~[sping-encation-4.2.3.jar: 4.2.3.发布]在org. springframework. boot. contextd。EmbeddedWebApplication ationContext1.3.0.发布. jar: 1.3.0。发布]在org. springframework. boot.刷新(SpringApplication. java: 752)~[sping-boot-1.3.0.发布. jar: 1.3.0。发布]在org. springframework. boot.SpringApplication. doRun(SpringApplication. java: 347)~[sping-boot-1.3.0.发布. jar: 1.3.0。发布]在org. springframework. boot.SpringApplication. run(SpringApplication. java: 295)~[sping-boot-1.3.0.发布. jar: 1.3.0。发布]在com. d2js. Platform. Manager。java: 28[类: na]

我的websocket配置

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Autowired
    private final TeacherMonitorHandler teacherMonitorHandler = null;

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(teacherMonitorHandler, "/websocket/teacherMonitor");
    }
}

websocket安全配置类:

@Configuration
public class WebSocketSecurityConfig extends AbstractSecurityWebSocketMessageBrokerConfigurer {
    @Override
    protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) {
        messages.anyMessage().permitAll();
    }
}

共有1个答案

宋腾
2023-03-14

WebSocket安全性用于STOMP子协议,并依赖于STOMP代理配置。

您必须将@EnableWebSocket更改为@EnableWebSocketMessageBroker,然后继续执行AbstractSecurityWebSocketMessageBrokerConfigure配置。

顺便说一下,在这种情况下,您不需要WebSocketConfigurer

 类似资料:
  • 我刚刚为一个简单的Spring测试项目配备了基本的身份验证功能。当服务器加载时,我会得到一个众所周知的错误org。springframework。豆子。工厂NoSuchBeanDefinitionException:未定义名为“springSecurityFilterChain”的bean。 <代码>web。xml: servlet上下文。xml包含与安全相关的配置: 我错过了什么?

  • 问题内容: 我已经用实体管理器配置了两个持久性单元,如下所示: 然后,我将事务管理器配置为 我最初只有一个配置,它被称为“ transactionManager”。Addint一个附加的持久性单元似乎会生成错误。我不明白的一件事,如果我配置了两个持久性单元(每个持久性单元用于一个单独的数据库),是否还需要为每个数据源配置一个单独的实体管理器和一个事务管理器? 我得到的错误如下所示:(我搜索了所有文

  • 我找了几个地方,试了很多东西,但我不明白这里出了什么问题:(请帮帮我。

  • 问题内容: 我有一个查询,我需要将其作为动态查询来运行,以输出有意义的列名。例如,如果我直接运行查询,它将正确返回数据。但是,如果我使用下面的代码,它将显示: 下面是代码: 是因为加入了吗? 问题答案: 最后尝试以下方法: 如果没有括号,SQL Server会将变量的值假定为存储过程名称。 或者 而且这不应该是因为FULL JOIN。 但我希望您已经创建了临时表:#TrafficFinal,#Tr

  • 我在库伯内特斯连夜运行了一项工作。当我早上检查它时,它已经失败了。通常,我会检查pod日志或事件来确定原因。然而,pod被删除了,没有事件。 下面是输出: 这是作业配置yaml。它有,但是它从来没有重启过。我也没有设置TTL,所以豆荚永远不会被清理。 我如何调试这个?

  • 我正在使用spring data jpa、hibernate、mysql、tomcat7、maven开发应用程序,但它出现了错误,我试图找出它,但我失败了。 错误是在设置构造函数参数时无法解析对bean“Entity ManagerFactory”引用;没有定义名为“Entity ManagerFactory”的bean;自动连线依赖项注入失败