定时执行任务的三种方法

定时任务-启动服务立即执行一次,再按照cron表达式等待下一次执行 使用定时任务时,会存在一个小问题,比如当我们设置每30分钟执行一次,但是我们启动服务后不会立即执行,而是下次的30分钟到了才执行。增加注解@PostConstruct。启动服务后,可以发现会立即执行一次,问题解决。 阅读详情

1)java.util.Timer
这个方法应该是最常用的,不过这个方法需要手工启动你的任务:
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。

2)ServletContextListener
这个方法在web容器环境比较方便,这样,在web server启动后就可以
自动运行该任务,不需要手工操作。
将ListByDayListener implements ServletContextListener接口,在
contextInitialized方法中加入启动Timer的代码,在contextDestroyed
方法中加入cancel该Timer的代码;然后在web.xml中,加入listener:
< listener>
< listener-class>com.qq.customer.ListByDayListener< /listener-class>
< /listener>

3)org.springframework.scheduling.timer.ScheduledTimerTask
如果你用spring,那么你不需要写Timer类了,在schedulingContext-timer
.xml中加入下面的内容就可以了:
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

< beans>
< bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
< property name="scheduledTimerTasks">
< list>
< ref local="MyTimeTask1"/>
< /list>
< /property>
< /bean>

< bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/>

< bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask">
< property name="timerTask">
< ref bean="MyTimeTask"/>
< /property>
< property name="delay">
< value&gt10000< /value>
< /property>
< property name="period">
< value&gt86400000< /value>
< /property>
< /bean>
< /beans>
(转载文章请保留出处:北天JAVA技术网(www.java114.com)) 

【智能机器人开发全流程:硬件选型、软件架构与ROS实战,打造高效机器人系统】 通过模块化设计与ROS框架的灵活扩展,可快速搭建适应不同场景的机器人系统。实际开发中需重点关注。 阅读详情

相关推荐

物联网开发131 - Micropython ESP32 C3连接TB6600驱动42BYGH39步进电机

如何使用合宙ESP32 C3连接TB6600驱动42BYGH39步进电机,实现控制步进电机正反转和旋转指定角度等

zhusongziye的博客 2370

JAVA实用技巧:定时执行任务的三种方法

1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.schedule(new ListByDayTimerTask(),10000,86400000);这里的ListByDayTimerTask类必须实现TimerTask里面的run()方法。2)ServletContextListener

Senton 1790

[医学图像分割综述] Medical Image Segmentation Using Deep Learning: A Survey

本综述有两个独创之处,首先,与传统的调查方法直接将医学图像分割的文献划分为多个组,并对每个组详细介绍文献的方法相比,我们将目前流行的文献按照从粗到细的多层次结构进行分类。其次,本文重点研究了监督学习和弱监督学习方法,但未包括无监督方法,这种方法目前在医学图像领域并不流行。对于监督学习方法,我们从骨干网络的选择、网络块的设计和损失函数的改进三个方面对文献进行了分析。对于弱监督学习方法,我们分别根据数据增强,迁移学习和交互式分割研究文献。与已有的调查相比,本次调查的文献分类与以往有很大的不同,更便于读者了解相关

qq_38932073的博客 4万+

java中的定时任务

Timer类 在工具类Timer中,提供了四个构造方法,每个构造方法都启动了计时器线程,同时Timer类可以保证多个线程可以共享单个Timer对象而无需进行外部同步,所以Timer类是线程安全的。但是由于每一个Timer对象对应的是单个后台线程,用于顺序执行所有的计时器任务,一般情况下我们的线程任务执行所消耗的时间应该非常短,但是由于特殊情况导致某个定时器任务执行的时间太长,那么他就会“独占”计...

QQ00821的博客 301

告别第三方工具!用Windows自带蓝牙玩转BLE设备调试(保姆级图文教程)

本文详细介绍了如何利用Windows自带的蓝牙功能进行BLE设备调试,无需第三方工具。从硬件准备、系统配置到实战操作,提供保姆级图文教程,帮助开发者高效完成设备发现、数据交互等全流程调试工作。特别适合物联网开发者和智能硬件爱好者。

o5p6q的博客 726

用逐飞STC32G库做个智能小车:编码器测速、PWM调电机、ADC读电池电压(完整项目)

本文详细介绍了如何使用逐飞科技的STC32G12K128开源库构建智能小车项目,涵盖编码器测速、PWM电机控制和电池电压监测等核心功能。通过硬件选型、开发环境搭建、代码实现及调试技巧的全流程讲解,帮助开发者快速掌握基于STC32G的嵌入式系统开发,实现高性能的智能小车控制。

weixin_42526417的博客 194

Springboot中上一个定时任务没执行完,是否会影响下一个定时任务

Springboot中上一个定时任务没执行完,是否会影响下一个定时任务

weixin_41299736的博客 1805

几种负载均衡策略(DNS、NAT、重定向、反向代理)

摘要:本文对比了四种负载均衡技术:DNS负载均衡通过域名解析分发IP,用户直连服务器;NAT负载均衡通过VIP转发流量,所有流量经过负载均衡器;HTTP重定向通过302跳转实现分流;反向代理则隐藏后端服务器,统一转发请求。DNS简单但调度不精准,NAT精准但有带宽瓶颈,HTTP重定向延迟高,反向代理性能好但需专用设备。适用场景各异,DNS适合异地分流,NAT适合内网集群,HTTP重定向适合简单分流,反向代理适合高并发场景。核心区别在于层级(3层/7层)和流量走向(直连/中转)。

echo的博客 70

java实现一个在springboot启动之后执行的定时任务!(复制粘贴即用!)

java实现一个在springboot启动之后执行的定时任务!

mltaozi的博客 1563

语音算法面试复习系列3——语音识别基础 + CTC 详解

摘要:本文系统讲解了语音识别(ASR)的核心算法CTC。主要内容包括:1) ASR的核心挑战是输入音频帧与输出文字序列的对齐问题;2) CTC通过引入blank标记和动态规划算法,无需对齐标注即可训练;3) 详细解析CTC前向算法实现路径概率求和,以及贪心和Beam Search解码方法;4) 指出CTC的条件独立性假设导致无法建模输出依赖关系;5) 对比CTC与传统方法和Attention/Transducer的优缺点,分析实际应用中的subsampling技术。文章包含数学推导、代码实现和面试常见问题,

m0_60605453的博客 305

【第33话:车辆控制】自动驾驶车辆运动学模型推导及详解

自动驾驶车辆的运动学模型以自行车模型为核心,通过状态方程。

一碗白开水一 830

java定时执行任务的三种方法

定时执行任务的三种方法:1)java.util.Timer.2)ServletContextListener.3)org.springframework.scheduling.timer.ScheduledTimerTask1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.sche

stonecai的专栏 8406

【单智能体】AI 数据分析智能体案例讲解(附完整源码)

本案例将引导您构建一个基于 AI 的数据分析智能体,让用户能够通过自然语言查询来分析 CSV 和 Excel 文件中的数据,无需掌握 SQL 知识。该智能体使用 Agno Agent 框架集成 OpenAI GPT-4o 模型,并利用 DuckDB 提供高效的数据处理能力。

rengang66的博客 238

定时执行任务的三种方法:

定时执行任务的三种方法:1)java.util.Timer.2)ServletContextListener.3)org.springframework.scheduling.timer.ScheduledTimerTask1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:        Timer timer=new Timer();  

wzj_119的专栏 697

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JAVA定时执行任务的三种方法

JAVA定时执行任务的三种方法  1) java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.schedule(new ListByDayTimerTask(),10000,86400000);这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。2) S

guo624587253的专栏 511

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java定时执行任务的三种方法

<br />  Java定时执行任务的三种方法<br /> <br />定时执行任务的三种方法:<br /> <br />1)java.util.Timer.<br /> <br />2)ServletContextListener.<br /> <br />3)org.springframework.scheduling.timer.ScheduledTimerTask<br /> <br />1)java.util.Timer<br />这个方法应该是最常用的,不过这个方法需要手工启动你的任务:<br

争做优秀java技术博客! 1442

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java定时执行某个方法_Java中定时执行任务的三种方法

Java中定时执行任务的三种方法1)java.util.Timer这个方法应该是最常用的,不过这个方法需要手工启动你的任务:Timer timer=new Timer();timer.schedule(new ListByDayTimerTask(),10000,86400000);这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。2)Serv...

weixin_28941265的博客 3582
上一篇: 软件外包项目(对日)常见问题(转)
下一篇: 消息国际化
java_user
博客等级 码龄21年 11粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值