spring 定时器配置实例

本文介绍如何使用Spring框架实现自动化数据提取和邮件发送的定时任务,通过配置定时器,实现深夜运行数据提取与汇总,然后定时发送邮件至指定接收者。

        cto有如下需求:

 

        要求各team leader(每人负责网站的一个行业栏目)将各项目部的数据从后台管理查询汇总并使用excel整理以附件形式发送至cto(发送时间不限),貌似数据量很大,自己统计要疯,于是乎,写定时器执行无疑是个好选择,那我的需求就很简单了,

 

        首先,由于是门户网站,数据量访问较大,所以只能选择深夜“悄悄地”。。。。。

    

         1、每天凌晨3点钟启动“数据提取”timer,其负责 :

               1) 分类汇总数据;

               2) 持久化到数据库;

 

         2、每天凌晨4点钟启动“发送邮件”timer,主要用来将数据库里汇总好的相应数据提取并e-mail给cto

 

timer关键代码:

         我选择使用annotation方式,代码简单轻巧,

         1) 在spring配置文件的xmlns和xsi:schemaLocation声明处分别添加

           

task="http://www.springframework.org/schema/task"
和
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd

       

          2) 开启task任务扫描注解

 

        

<task:annotation-driven/>

 

         3) 开启annotation,并配置扫描位置

 

<context:annotation-config />
<context:component-scan base-package="com.sina" />

 

         4) 接口:SpringTimerService

 

                /**
		 * spring 定时器接口
		 * @author Jar chang
		 */
		public interface SpringTimerService {
			/**
			 * 数据提取定时器
			 */
			public void runDataCollectionTimer();
			
			/**
			 * 发送邮件定时器
			 */
			public void runSendStatisticsEmailTimer();
			
		}

 

              5) service实现

 

    

                  @Component
		  public class SpringTimerServiceImpl implements SpringTimerService{
			
			@Resource
			private SpringTimerDao springTimerDaoImpl;
			
			@Override
			@Scheduled(cron="0 0 3 * * ?")
			//此处配置定时器具体的生效时间,关于cron表达式很简单:请百度
			public void runDataCollectionTimer() {
				springTimerDaoImpl.runCollection();
				//。。。。代码略
			}

			@Override
			@Scheduled(cron="0 0 4 * * ?")
			public void runSendStatisticsEmailTimer() {
				springTimerDaoImpl.runSendEmail();
				//。。。。代码略
			}
		}

 

 

              6) dao层是具体的从数据库取数据以及发送邮件的代码,网上一大堆,就不多做声明了#11

 

     需要注意的地方:


        1) 定时器任务方法不能有返回值


        2) spring的@Scheduled注解必须写在实现类上


        3) 定时任务不能启动请检查spring配置文件中的default-lazy-init="true",将其修改为false,因为默认懒

 

加载的情况定时器不会执行

内容概要:本文是一份针对2025年中国企业品牌传播环境撰写的《全网媒体发稿白皮书》,聚焦企业媒体发稿的策略制定、渠道选择与效果评估难题。通过分析当前企业面临的资源分散、内容同质、效果难量化等核心痛点,系统性地介绍了新闻媒体、央媒、地方官媒和自媒体四大渠道的特点与适用场景,并深度融合“传声港”AI驱动的新媒体平台能力,提出“策略+工具+落地”的一体化解决方案。白皮书详细阐述了传声港在资源整合、AI智能匹配、舆情监测、合规审核及全链路效果追踪方面的技术优势,构建了涵盖曝光、互动、转化与品牌影响力的多维评估体系,并通过快消、科技、零售等行业的实战案例验证其有效性。最后,提出了按企业发展阶段和营销节点定制的媒体组合策略,强调本土化传播与政府关系协同的重要性,助力企业实现品牌声量与实际转化的双重增长。; 适合人群:企业市场部负责人、品牌方管理者、公关传播从业者及从事数字营销的相关人员,尤其适用于初创期至成熟期不同发展阶段的企业决策者。; 使用场景及目标:①帮助企业科学制定媒体发稿策略,优化预算分配;②解决渠道对接繁琐、投放不精准、效果不可衡量等问题;③指导企业在重大营销节点(如春节、双11)开展高效传播;④提升品牌权威性、区域渗透力与危机应对能力; 阅读建议:建议结合自身企业所处阶段和发展目标,参考文中提供的“传声港服务组合”与“预算分配建议”进行策略匹配,同时重视AI工具在投放、监测与优化中的实际应用,定期复盘数据以实现持续迭代。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值