錯誤信息: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