当前位置: 首页 > 网络应用技术

我听说您可以在十分钟之内掌握Spring Boot进行集成的计时任务和异步电话吗?

时间:2023-03-07 00:36:27 网络应用技术

  在项目开发中,常规任务需要帮助我们完成一些内容,例如发送SMS/电台信息,数据汇款总裁,业务监控等,因此我们需要使用我们的正时任务。简单化的事情,以下内容介绍了如何介绍如何在中间创建常规任务

  []()1.1.1 POM配置仅需要引入软件包。时间建造的方法是在袋子中构建的

  1.1.2添加注释以将@enablescheduling注释添加到Spring Boot的主要类中,以启用定时任务的配置

  1.1.3创建一个测试类

  1.1.4参数指令在上面的输入示例中,注释用于定义每5秒执行的任务。用于使用以下方法:

  1.1.5运行测试

  您还可以以另一种方式实现定时任务,只需修改测试类

  1.2.1修改测试类

  1.2.2测试

  1.2.3参数共有7个,最后一个是一年。在计时方案中只需要六位数字

  还有一些特殊的符号,含义如下:

  以下是几个常用的示例:0 0 1?:每天上午1点是1;0 5 1?:表演

  同步调用索引程序按顺序按顺序执行。每个过程必须等待

  2.1.1定义任务类的操作以创建三个处理功能以模拟三个执行任务的操作,并且该操作会随机消耗时间(在10秒内)

  2.1.2创建一个测试类

  2.1.3测试

  任务I.任务II和任务的三个顺序执行,换句话说,执行TestTask1,TestTask2,TestTask3的三个函数。

  尽管上述同时呼叫已成功执行三个任务,但可以看出,执行时间相对较长。如果这三个任务本身之间没有依赖性,则可以同时执行该任务,同步呼叫在执行效率方面很差。可以认为,当同步执行异步调用时,异步呼叫意味着该程序已执行该程序。无需等待订单执行订单时异步调用的返回结果。

  在中间,我们只需要使用注释即可简单地将原始同步函数更改为异步函数

  2.2.1修改任务类

  2.2.2修改springbootasyncapplication为了使注释能够生效,它还需要配置@enableasync

  目前,您可以反复执行单元测试,并且您可能会遇到各种不同的结果:

  原因是TestTask1,TestTask2和TestTask3的当前三个函数已经是异步执行的。在称为异步后,主程序不在乎这三个函数是否已完成。由于没有其他内容需要执行,因此程序会自动结束,从而导致与与内容相关的内容不完整或与输出任务相关的内容。

  为了允许testtask1,testtask2,testtask3正常结束,假设我们需要计算三个任务消耗多少时间消耗。执行了异步调用?我们需要使用异步呼叫的结果

  2.3.1重建异步

  2.3.2重建测试类别

  2.3.3测试

  2.3.4摘要打开异步注入方法并添加默认实现不是真正的线程池。此类不重用线程。每个呼叫都会创建一个新线程

  2.4.1定制线程池

  2.4.2带有@ASYNC和自定义线程池名称的改革异步箱

  原始:https://juejin.cn/post/7107077874972098568