java - websocket 服務(wù)端onMessage()方法一操作數(shù)據(jù)庫就報(bào)空指針異常
問題描述
想用websocket實(shí)現(xiàn)新消息提醒功能,就比如a發(fā)了一篇文章然后有人回復(fù)了a,當(dāng)a上線時(shí)出現(xiàn)消息提醒,如下圖
后臺(tái)的onMessage()方法中若是直接用session.getBasicRemote().sendText('haha');是可以正常運(yùn)行的,可是一操作數(shù)據(jù)庫就出了空指針異常..
前端js處理:
有遇到過相同問題的人嗎?求告知..
問題解答
回答1:這個(gè)空指針和 weosocket 無關(guān),應(yīng)該是你 messageService 實(shí)例的依賴注入有問題。應(yīng)該檢查一下你的 MessageService 是否被 IOC 容器托管,即類上是否加了 @Service 或者 @Component 注解。
回答2:開發(fā)過程中,某個(gè)未被spring托管的類(例如MessageController)想調(diào)用一個(gè)被spring托管的對(duì)象的方法(例如MessageService對(duì)象),如果我們像下面代碼的方式去調(diào)用方法,則會(huì)出現(xiàn)空指針的異常。
解決方法:
使用ApplicationHelper獲取所需的MessageService對(duì)象
相關(guān)文章:
1. javascript - 微信h5發(fā)送圖文信息,部分設(shè)備點(diǎn)擊“發(fā)送”按鈕時(shí)沒反應(yīng),問題較難重現(xiàn),如何能找到可能存在問題的點(diǎn)?2. objective-c - 做一個(gè)百度地圖定位的demo,結(jié)果出錯(cuò)好多。3. 微信小程序session無法緩存的問題4. 如何使用Java1.8編譯1.6JVM可運(yùn)行的class文件5. javascript - 關(guān)于微信授權(quán)的問題。6. java - 輸出4個(gè)不相等整數(shù)之間所有任意三個(gè)整數(shù)的乘積7. css - 如何使用 vue transition 實(shí)現(xiàn) ios 按鈕一樣的平滑切換效果8. angular.js - 公眾號(hào)H5頁面 angularjs 怎么動(dòng)態(tài)修改title值(微信6.5.5,動(dòng)態(tài)修改不行 6.5.7闊以)9. node.js - 如何在服務(wù)器部署vuejs項(xiàng)目?10. vue 子組件watch監(jiān)聽不到prop的解決
