java - websocket 服務(wù)端onMessage()方法一操作數(shù)據(jù)庫(kù)就報(bào)空指針異常
問(wèn)題描述
想用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ù)庫(kù)就出了空指針異常..
前端js處理:
有遇到過(guò)相同問(wèn)題的人嗎?求告知..
問(wèn)題解答
回答1:這個(gè)空指針和 weosocket 無(wú)關(guān),應(yīng)該是你 messageService 實(shí)例的依賴注入有問(wèn)題。應(yīng)該檢查一下你的 MessageService 是否被 IOC 容器托管,即類上是否加了 @Service 或者 @Component 注解。
回答2:開(kāi)發(fā)過(guò)程中,某個(gè)未被spring托管的類(例如MessageController)想調(diào)用一個(gè)被spring托管的對(duì)象的方法(例如MessageService對(duì)象),如果我們像下面代碼的方式去調(diào)用方法,則會(huì)出現(xiàn)空指針的異常。
解決方法:
使用ApplicationHelper獲取所需的MessageService對(duì)象
相關(guān)文章:
1. javascript - JS設(shè)置Video視頻對(duì)象的currentTime時(shí)出現(xiàn)了問(wèn)題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...2. java固定鍵值轉(zhuǎn)換,使用枚舉實(shí)現(xiàn)字典?3. 如何為每個(gè)應(yīng)用程序配置tomcat 6的logs / catalina.out。(為sys.out,sys.err配置Web應(yīng)用程序特定的日志文件)4. css - ionic中的柵格布局如何讓文字內(nèi)容多少不同的每一列中的內(nèi)容都能垂直居中?5. php自學(xué)從哪里開(kāi)始?6. phpstady在win10上運(yùn)行7. java - 我設(shè)置了cookie的max age,但是cookie依然在關(guān)閉游覽器后消失了8. javascript - canvas設(shè)計(jì)鼠標(biāo)畫(huà)圖功能一筆畫(huà)出多條并行彩色線條9. 這是什么情況???10. javascript - 微信網(wǎng)頁(yè)開(kāi)發(fā)從菜單進(jìn)入頁(yè)面后,按返回鍵沒(méi)有關(guān)閉瀏覽器而是刷新當(dāng)前頁(yè)面,求解決?
