springboot中websocket服务怎么调用其他类的方法
前言:
之前有写过一个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服务怎么调用其他类的方法相关推荐
- 在ABAP XSLT中调用ABAP类的方法
本文介绍在ABAP XSLT中调用ABAP类的方法. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- java 简单的调用类_java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...
java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...
- java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊...
java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...
- oracle 执行java_oracle调用JAVA类的方法
oracle调用JAVA类的方法主要有以下三种: 1. 用loadjava方法装载: 可能是调试方便,据说这种方法比较通用. c:\test\hello.java public class hello ...
- Vue中,一个组件调用其他组件的方法(非父子组件)
Vue中,一个组件调用其他组件的方法(非父子组件) 场景--B页面(组件)想调用 A页面(组件)中的方法:但是两个页面(组件)毫无关联(刷新 A的数据). 方式一:引用式 1.当前组件引入将要调用方法 ...
- java 中成员变量的名字和类的方法的名字可以一样.
java 中成员变量的名字和类的方法的名字可以一样. public class fourone {public static void main(String[] args) {int first[] ...
- Springboot项目WebSocket服务中不能注入(@Autowired和@Resoure)报null错误
需求介绍 Springboot中,Java服务端与浏览器客户端建立WebSocket连接,客户端向服务端发送信息后,@OnMessage,将信息转换为POJO对象,并调用resdis的client层接 ...
- SpringBoot中微服务技术中进程间通信原理
在单体应用中,一个组件调用其它组组件时,是通过语言级的方法或者函数调用,而一个基于微服务的应用是运行于多个服务器上的分布式系统,每个服务实例是一个典型的进程.所以,如下图显示的,服务必须通过内部进程交 ...
- 解决springcloud 中各服务之间调用外部依赖的clint api时,在调试时不方便的问题
解决springcloud 中,各个服务中调用外部依赖的api,在调试时不方便的问题 屏蔽外部依赖 那如何解决问题呢?既可以在本地调试也不用启动其他服务. 大致的流程分 具体实践 调用接口 替换原有的 ...
最新文章
- RMAN 与control文件和spfile文件的备份
- HardwareSoftwareTutorial
- 关于Java中的线程安全(线程同步)
- Android -- DragDrop
- 代码的世界里的一群精神病人
- acm之java输入输出_ACM中Java输入输出
- Liferay 6.2 改造系列之十三:修改用户编辑页面表单内容
- 软件工程导论(第5版)张海藩著 高清PDF版下载
- Python提取docx格式Word文档中所有尾注
- 重新编译使用CMake的旧项目的问题处理
- 4k纸是几厘米乘几厘米_4k纸多大(4k纸有几张a4纸大)
- 计算机英语听力,计算机英语词汇大全
- Android 7.0图片裁剪问题
- php重载求圆锥体积,编写一函数文件,实现求一个圆锥体的体积。
- 使用zepto实现QQ消息左滑删除效果
- R语言读取文件报错之二:Error in read.table(“xxxx.txt“, header = TRUE) : 列的数目比列的名字要多
- 【龙芯1c库】封装模拟I2C接口和使用示例
- 基于V4L2的视频驱动开发(2) 华清远见 刘洪涛
- 春季三月各行业活动营销指南
- Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册