Springboot webscoket自定义定时器

 更新时间:2023年01月20日 09:02:58   作者:Bonyin  
这篇文章主要介绍了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秒在执行操作。

到此这篇关于Springboot webscoket自定义定时器的文章就介绍到这了,更多相关Springboot定时器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java排序算法中的插入排序算法实现

    Java排序算法中的插入排序算法实现

    这篇文章主要介绍了Java排序算法中的插入排序算法实现,插入排序是将数组中的数据分为两个区间,已排序区间和未排序区间,其中已排序区间初始只有一个元素,就是数组的第一个元素,需要的朋友可以参考下
    2023-12-12
  • 分享Java开发必须掌握的日志分析命令

    分享Java开发必须掌握的日志分析命令

    这篇文章主要介绍了分享Java开发必须掌握的日志分析命令,在日常工作中,如果我们遇到线上问题,一般的处理步骤应该是先保留现场,然后再考虑回滚,之后再是解决问题
    2019-07-07
  • 使用Cloud Toolkit在IDEA中极速创建dubbo工程

    使用Cloud Toolkit在IDEA中极速创建dubbo工程

    这篇文章主要介绍了使用Cloud Toolkit在IDEA中极速创建dubbo工程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • java 面向对象代码块及不同位置对属性赋值的执行顺序

    java 面向对象代码块及不同位置对属性赋值的执行顺序

    这篇文章主要介绍了java面向对象代码块及不同位置对属性赋值的执行顺序,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • SpringBoot整合Javamail实现邮件发送功能

    SpringBoot整合Javamail实现邮件发送功能

    邮件发送是一个很普遍的功能,springboot整合了相关的starter,本文给大家介绍了可以实现一个简单的邮件发送功能的实例,文中通过代码给大家介绍的非常详细,感兴趣的朋友可以参考下
    2023-12-12
  • idea mybatis配置log4j打印sql语句的示例

    idea mybatis配置log4j打印sql语句的示例

    本篇文章主要介绍了idea mybatis配置log4j打印sql语句的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • JVM常量池的深入讲解

    JVM常量池的深入讲解

    这篇文章主要给大家介绍了关于JVM常量池的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java中join线程操作实例分析

    Java中join线程操作实例分析

    这篇文章主要介绍了Java中join线程操作,结合实例形式分析了java使用join方法操作线程的相关原理与实现技巧,需要的朋友可以参考下
    2019-09-09
  • Java8 CompletableFuture详解

    Java8 CompletableFuture详解

    这篇文章主要介绍了Java8 CompletableFuture详解,CompletableFuture extends Future提供了方法,一元操作符和促进异步性以及事件驱动编程模型,需要的朋友可以参考下
    2014-06-06
  • Java编程实现基于TCP协议的Socket聊天室示例

    Java编程实现基于TCP协议的Socket聊天室示例

    这篇文章主要介绍了Java编程实现基于TCP协议的Socket聊天室,结合实例形式详细分析了java基于TCP协议的Socket聊天室客户端与服务器端相关实现与使用技巧,需要的朋友可以参考下
    2018-01-01

最新评论