文章详情页
java - websocket 服务端onMessage()方法一操作数据库就报空指针异常
问题描述
想用websocket实现新消息提醒功能,就比如a发了一篇文章然后有人回复了a,当a上线时出现消息提醒,如下图
后台的onMessage()方法中若是直接用session.getBasicRemote().sendText('haha');是可以正常运行的,可是一操作数据库就出了空指针异常..
前端js处理:
有遇到过相同问题的人吗?求告知..
问题解答
回答1:这个空指针和 weosocket 无关,应该是你 messageService 实例的依赖注入有问题。应该检查一下你的 MessageService 是否被 IOC 容器托管,即类上是否加了 @Service 或者 @Component 注解。
回答2:开发过程中,某个未被spring托管的类(例如MessageController)想调用一个被spring托管的对象的方法(例如MessageService对象),如果我们像下面代码的方式去调用方法,则会出现空指针的异常。
解决方法:
使用ApplicationHelper获取所需的MessageService对象
相关文章:
1. javascript - 读取页面源码,页面中所有的换行都被当成<br/>读取出来 了,,求解应该怎么让它被正确的解析2. java - 3个dao的数据根据请求参数选择一个映射到一个url上,怎么写比较好?3. css - 手机端chrome打开github和bilibili等少数网站会发现地址栏周围也会有背景色4. docker 17.03 怎么配置 registry mirror ?5. javascript - 关于一段 for 循环代码执行顺序的问题6. javascript - 静态页面引公共头尾文件,js怎么写吖?7. java - Spring使用@Autowired失效但是getBean()可以执行成功8. html5 - 百度Ueditor代码高亮和代码段滚动条冲突是怎么回事?9. docker网络端口映射,没有方便点的操作方法么?10. javascript - JS中如何实现 DIV内部和鼠标的距离
排行榜