Springboot webscoket自定義定時器
問題描述
需要定時通過websocket接口來推送mysql里面最新的數(shù)據(jù),自定義了定時器
@Component
@Slf4j
public class TaskScheduler {
@Autowired
private TparkOrderInOutMapper tparkOrderInOutMapper;
@Autowired
UserController userController;
/**
* 間隔是10秒執(zhí)行一次
*/
@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 就是配置定時器。
啟動作業(yè)
啟動作業(yè)發(fā)現(xiàn)定時器的任務(wù)沒有執(zhí)行。查閱資料是因為:
springBoot 默認是使用單線程的Scheduler來處理我們的 @Scheduled注解的定時任務(wù)。
我們需要定義一個TaskScheduler的配置類,使用多線程來執(zhí)行我們的定時任務(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);
}
}
最后運行application的時候,我們可以看到控制上:

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

