您的位置:首页技术文章
文章详情页

java - websocket 服务端onMessage()方法一操作数据库就报空指针异常

【字号: 日期:2022-11-18 09:45:39浏览:44作者:猪猪

问题描述

想用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()方法一操作数据库就报空指针异常

相关文章: