前言:

之前有写过一个springboot整合websocket的博客(SpringBoot 集成websocket_清泉影月的博客-CSDN博客),最开始的使用场景就是用websocket发消息给其他长连接;后来新增了一个需求:长连接的某些信息要保存到数据库。想着应该比较简单,写个类方法注入到websocket服务里面调用就行了,结果发现报错,本地调试发现注入的类居然是个null。研究了一番,处理起来就是:启动类启动时把上下文直接配置到 websocket的服务里面,websocket服务调用其他类方法时从上下文中获取。

一、启动类设置上下文到 websocket

@SpringBootApplication
public class TableApplication {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(TableApplication.class, args);WebSocketServer.setApplicationContext(context);}}

WebSocketServer是websocket的服务类。

二、websocket服务类调用其他类方法

websocket服务类新增以下配置,跟启动类相呼应

public class WebSocketServer {private static ApplicationContext applicationContext;public static void setApplicationContext(ApplicationContext context) {applicationContext = context;}}

websocket服务类调用其他类方法样例如下:

    private void saveInfoToDb(WebsocketMsg websocketMsg) {SocketTableConnService socketTableConnService = applicationContext.getBean(SocketTableConnService.class);socketTableConnService.saveInfoToDb(websocketMsg);}

springboot中websocket服务怎么调用其他类的方法相关推荐

  1. 在ABAP XSLT中调用ABAP类的方法

    本文介绍在ABAP XSLT中调用ABAP类的方法. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  2. java 简单的调用类_java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  3. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  4. oracle 执行java_oracle调用JAVA类的方法

    oracle调用JAVA类的方法主要有以下三种: 1. 用loadjava方法装载: 可能是调试方便,据说这种方法比较通用. c:\test\hello.java public class hello ...

  5. Vue中,一个组件调用其他组件的方法(非父子组件)

    Vue中,一个组件调用其他组件的方法(非父子组件) 场景--B页面(组件)想调用 A页面(组件)中的方法:但是两个页面(组件)毫无关联(刷新 A的数据). 方式一:引用式 1.当前组件引入将要调用方法 ...

  6. java 中成员变量的名字和类的方法的名字可以一样.

    java 中成员变量的名字和类的方法的名字可以一样. public class fourone {public static void main(String[] args) {int first[] ...

  7. Springboot项目WebSocket服务中不能注入(@Autowired和@Resoure)报null错误

    需求介绍 Springboot中,Java服务端与浏览器客户端建立WebSocket连接,客户端向服务端发送信息后,@OnMessage,将信息转换为POJO对象,并调用resdis的client层接 ...

  8. SpringBoot中微服务技术中进程间通信原理

    在单体应用中,一个组件调用其它组组件时,是通过语言级的方法或者函数调用,而一个基于微服务的应用是运行于多个服务器上的分布式系统,每个服务实例是一个典型的进程.所以,如下图显示的,服务必须通过内部进程交 ...

  9. 解决springcloud 中各服务之间调用外部依赖的clint api时,在调试时不方便的问题

    解决springcloud 中,各个服务中调用外部依赖的api,在调试时不方便的问题 屏蔽外部依赖 那如何解决问题呢?既可以在本地调试也不用启动其他服务. 大致的流程分 具体实践 调用接口 替换原有的 ...

最新文章

  1. RMAN 与control文件和spfile文件的备份
  2. HardwareSoftwareTutorial
  3. 关于Java中的线程安全(线程同步)
  4. Android -- DragDrop
  5. 代码的世界里的一群精神病人
  6. acm之java输入输出_ACM中Java输入输出
  7. Liferay 6.2 改造系列之十三:修改用户编辑页面表单内容
  8. 软件工程导论(第5版)张海藩著 高清PDF版下载
  9. Python提取docx格式Word文档中所有尾注
  10. 重新编译使用CMake的旧项目的问题处理
  11. 4k纸是几厘米乘几厘米_4k纸多大(4k纸有几张a4纸大)
  12. 计算机英语听力,计算机英语词汇大全
  13. Android 7.0图片裁剪问题
  14. php重载求圆锥体积,编写一函数文件,实现求一个圆锥体的体积。
  15. 使用zepto实现QQ消息左滑删除效果
  16. R语言读取文件报错之二:Error in read.table(“xxxx.txt“, header = TRUE) : 列的数目比列的名字要多
  17. 【龙芯1c库】封装模拟I2C接口和使用示例
  18. 基于V4L2的视频驱动开发(2) 华清远见 刘洪涛
  19. 春季三月各行业活动营销指南
  20. Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册

热门文章

  1. 惠普omen测试软件,性能测试:高品质体验主流游戏
  2. UEBA——通过用户画像识别安全威胁
  3. PaddlePaddle 波斯顿房价预测训练结果
  4. Mac新手入门功能操作指南!!
  5. 微信公众号 测试号 申请
  6. dedecms友情链接字数修改
  7. 爬虫基本概念(新手必看)
  8. 数据可视化--实验4
  9. 新手用canvas画时钟
  10. 05流量管理原理-3金丝雀TCP流量整形比例分配