Springboot webscoket自定義定時(shí)器
問(wèn)題描述
需要定時(shí)通過(guò)websocket接口來(lái)推送mysql里面最新的數(shù)據(jù),自定義了定時(shí)器
@Component
@Slf4j
public class TaskScheduler {
@Autowired
private TparkOrderInOutMapper tparkOrderInOutMapper;
@Autowired
UserController userController;
/**
* 間隔是10秒執(zhí)行一次
*/
@Scheduled(cron = "0/10 * * * * ?")
public void pushParkInfo() {
userController.findAll();
}
}定時(shí)器配置
在啟動(dòng)類里面增加定時(shí)器的啟動(dòng)入口。
@SpringBootApplication
@MapperScan(basePackages = "com.stop.mapper") //掃描mapper包
@EnableScheduling //配置定時(shí)器
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 就是配置定時(shí)器。
啟動(dòng)作業(yè)
啟動(dòng)作業(yè)發(fā)現(xiàn)定時(shí)器的任務(wù)沒(méi)有執(zhí)行。查閱資料是因?yàn)椋?/p>
springBoot 默認(rèn)是使用單線程的Scheduler來(lái)處理我們的 @Scheduled注解的定時(shí)任務(wù)。
我們需要定義一個(gè)TaskScheduler的配置類,使用多線程來(lái)執(zhí)行我們的定時(shí)任務(wù)。
@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);
}
}
最后運(yùn)行application的時(shí)候,我們可以看到控制上:

我們可以看到上面定時(shí)任務(wù)按照間隔10秒在執(zhí)行操作。
到此這篇關(guān)于Springboot webscoket自定義定時(shí)器的文章就介紹到這了,更多相關(guān)Springboot定時(shí)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手寫mybatis完整sql插件問(wèn)題及實(shí)現(xiàn)思路
大家在使用mybatis的過(guò)程中,mysql日志功能一般不會(huì)直接放到數(shù)據(jù)庫(kù)中執(zhí)行的,今天小編重點(diǎn)給大家分享手寫mybatis完整sql插件問(wèn)題及實(shí)現(xiàn)思路,對(duì)mybatis完整sql插件相關(guān)知識(shí)感興趣的朋友一起看看吧2021-05-05
Java實(shí)現(xiàn)短信驗(yàn)證碼服務(wù)的完整代碼示例
這篇文章主要介紹了Java實(shí)現(xiàn)短信驗(yàn)證碼服務(wù)的完整代碼示例,文中使用阿里云的短信服務(wù)進(jìn)行應(yīng)用開(kāi)發(fā)的流程,包括將屬性寫入application.yml配置文件,定義類并指定配置文件,注入實(shí)體類對(duì)象等等,需要的朋友可以參考下2024-09-09
Java如何導(dǎo)出多個(gè)excel并打包壓縮成.zip文件
本文介紹了Java如何導(dǎo)出多個(gè)excel文件并將這些文件打包壓縮成zip格式,首先,需要從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并導(dǎo)出到指定位置形成excel文件,接著,將這些數(shù)據(jù)分散到不同的excel文件中,最后,使用相關(guān)的Java工具類對(duì)這些excel文件進(jìn)行打包壓縮2024-09-09
IntelliJ?IDEA?2022.2最新版本激活教程(親測(cè)可用版)永久激活工具分享
Jetbrains官方發(fā)布了?IntelliJ?IDEA2022.2?正式版,每次大的版本更新,都會(huì)有較大的調(diào)整和優(yōu)化,除本次更新全面擁抱?Java?17?外,還有對(duì)IDE?UI界面,安全性,便捷性等都做了調(diào)整和優(yōu)化完善,用戶體驗(yàn)提升不少,相信后面會(huì)有不少小伙伴跟著更新2022-08-08
spring scheduled單線程和多線程使用過(guò)程中的大坑
本文主要介紹了spring scheduled單線程和多線程使用過(guò)程中的大坑,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
IntelliJ IDEA本地代碼覆蓋后恢復(fù)原來(lái)的代碼圖解
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA本地代碼覆蓋后恢復(fù)原來(lái)的代碼圖解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Java如何獲取@TableField,@TableName注解的值
這篇文章主要介紹了Java如何獲取@TableField,@TableName注解的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01

