Springboot webscoket自定义定时器
作者:Bonyin 发布时间:2023-02-12 05:34:02
标签:Springboot,webscoket,定时器
问题描述
需要定时通过websocket接口来推送mysql里面最新的数据,自定义了定时器
@Component
@Slf4j
public class TaskScheduler {
@Autowired
private TparkOrderInOutMapper tparkOrderInOutMapper;
@Autowired
UserController userController;
/**
* 间隔是10秒执行一次
*/
@Scheduled(cron = "0/10 * * * * ?")
public void pushParkInfo() {
userController.findAll();
}
}
定时器配置
在启动类里面增加定时器的启动入口。
@SpringBootApplication
@MapperScan(basePackages = "com.stop.mapper") //扫描mapper包
@EnableScheduling //配置定时器
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
System.out.println("hello world");
System.out.println("test");
}
}
其中,注解@EnableSchedu ling 就是配置定时器。
启动作业
启动作业发现定时器的任务没有执行。查阅资料是因为:
springBoot 默认是使用单线程的Scheduler来处理我们的 @Scheduled注解的定时任务。
我们需要定义一个TaskScheduler的配置类,使用多线程来执行我们的定时任务。
@Configuration
public class ScheduledTaskConfiguration implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
final ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(2);
taskScheduler.initialize();
taskRegistrar.setTaskScheduler(taskScheduler);
}
}
最后运行application的时候,我们可以看到控制上:
我们可以看到上面定时任务按照间隔10秒在执行操作。
来源:https://blog.csdn.net/tryll/article/details/128680512


猜你喜欢
- 概念装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。装饰者和被装饰对象有相同的超类型。你可以用一个或
- 照片墙这种功能现在应该算是挺常见了,在很多应用中你都可以经常看到照片墙的身影。它的设计思路其实也非常简单,用一个GridView控件当作“墙
- MojoUnityJson 是使用C#实现的JSON解析器 ,算法思路来自于游戏引擎Mojoc的C语言实现 Json.h 。借助C#的类库,
- 在最近的项目中有个需求是这样的:入参封装成JSON,EXAMPLE:{ "uuid": "iamauuid&q
- 效果图:这种效果的实现这里是采用自定义ExpandableListView,给它设置一个指示布局,在滑动过程中监听当前是否应该悬浮显示分类来
- 本文分享了c#操作Excel的相关代码,还是比较全面的,其实无外乎存取,增删改查等操作,参考下。具体代码://引用Microsoft.Off
- spring boot 使用profile来分区配置很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时
- 1、概述Spring Retry 是Spring框架中的一个组件,它提供了自动重新调用失败操作的能力。这在错误可能是暂时发生的(如瞬时网络故
- 1. InputStream -> byte[]引入 apache.commons.is 包import org.apache.com
- 先介绍下一些基本定义串行通信:通过的是PLC上的串行口RS232/RS422/485口,上位机链接系统 Hostlink系统是对于FA系统一
- java可以通过Runtime.getRuntime().exec()执行一个操作系统的命令,在操作系统层面执行命令也就创建了一个进程,Ja
- MVC三层架构我们在刚刚成为程序员的时候,就会被前辈们 “教育” 说系统的设计要遵循 MVC(Model-View-Controller)架
- 本文实例讲述了C#实现百分比转小数的方法。分享给大家供大家参考。具体分析如下:近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或
- 一. 前言最近我发现了一个事情,那就是在面试笔试中,好多公司都喜欢在String字符串上出问题,涉及到方方面面的知识,包括其中的一些常用方法
- jar:itext-4.2.1.jar在很多公文的落款处都需要绝对定位,所以记录此代码如下:PdfWriter writer = PdfWr
- MyBatis Generator简介MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成
- static void Main(string[] args) &nb
- 最近项目需要加入第三方分享和登录功能,之前其他项目的第三方分享和登录一直都使用ShareSDK实现的。为了统一使用友盟的全家桶,所以三方分享
- Exception e中e的getMessage()和toString()方法的区别:示例代码1:public class TestInfo
- 二叉树的分类(按存储结构)树的分类(按存储结构) &nbs