您的位置:首頁技術文章
文章詳情頁

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

瀏覽:145日期:2022-11-18 09:45:39

問題描述

想用websocket實現新消息提醒功能,就比如a發了一篇文章然后有人回復了a,當a上線時出現消息提醒,如下圖

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

后臺的onMessage()方法中若是直接用session.getBasicRemote().sendText('haha');是可以正常運行的,可是一操作數據庫就出了空指針異常..

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常前端js處理:

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

有遇到過相同問題的人嗎?求告知..

問題解答

回答1:

這個空指針weosocket 無關,應該是你 messageService 實例的依賴注入有問題。應該檢查一下你的 MessageService 是否被 IOC 容器托管,即類上是否加了 @Service 或者 @Component 注解。

回答2:

開發過程中,某個未被spring托管的類(例如MessageController)想調用一個被spring托管的對象的方法(例如MessageService對象),如果我們像下面代碼的方式去調用方法,則會出現空指針的異常。

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

解決方法:

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

使用ApplicationHelper獲取所需的MessageService對象

java - websocket 服務端onMessage()方法一操作數據庫就報空指針異常

相關文章:
国产综合久久一区二区三区