spring websocket報錯:No matching message handler methods.

錯誤信息:web

[org.springframework.web.socket.messaging.WebSocketAnnotationMethodMessageHandler]-[DEBUG] No matching message handler methods.

很明顯,形成該錯誤的緣由是  @MessageMapping("/hello") 該註解沒有生效spring

本人是由於  在 mvc 配置文件中添加了  use-default-filters="false"  因此形成該緣由mvc

SpringMVC 主要就是來管理網站的跳轉邏輯,因此在配置掃描的包時,使用 use-default-filters 屬性,並設置爲 false,即不使用默認的 Filter 進行掃描。app

要分析這個錯誤,就要先了解 use-default-filters 這個屬性的做用。use-default-filters 屬性的默認值爲 true,即使用默認的 Filter 進行包掃描,而默認的 Filter 對標有 @Service,@Controller和@Repository 的註解的類進行掃描,由於前面說過,咱們但願 SpringMVC 只來控制網站的跳轉邏輯,因此咱們只但願 SpringMVC 的配置掃描 @Controllerce 註解標註的類,不但願它掃描其他註解標註的類,因此設置了 use-default-filters 爲 false,並使用 context:include-filter 子標籤設置其只掃描帶有 @Controller 註解標註的類。socket

解決方法就是把 <context:component-scan base-package="com.dmefx.live" use-default-filters="false"> 中  use-default-filters="false" 刪除掉網站

固然也有多是別的緣由形成的,必定確保MessageMapping 被掃描到,另外注意  spirng 版本 和 jar包衝突問題。spa

相關文章
相關標籤/搜索