定时发送邮件(利用quart)

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目

思路:1.依赖 2.任务 3.配置文件 4.测试

1.依赖

	<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.3</version>
		</dependency>
	</dependencies>

  

2.任务类 

class MailJob{

private IStoredetailBiz storedetailBiz;
	private MailUtil mailUtil;//邮件工具
	private String to;//收件人
	private String subject;//邮件标题
	private String text;//邮件内容
	
	/**
	 * 发送预警邮件任务的方法
	 */
	public void doJob(){
		//获取预警的库存列表
		List<Storealert> list = storedetailBiz.getStorealertList();
		if(null != list && list.size() > 0){
			DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
			try {
				//发送邮件
				mailUtil.sendMail(to, subject.replace("[time]", df.format(new Date())), 
						text.replace("[count]", list.size() + ""));
				System.out.println("邮件发送成功!");
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	public void setStoredetailBiz(IStoredetailBiz storedetailBiz) {
		this.storedetailBiz = storedetailBiz;
	}

	public void setMailUtil(MailUtil mailUtil) {
		this.mailUtil = mailUtil;
	}

	public void setTo(String to) {
		this.to = to;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public void setText(String text) {
		this.text = text;
	}
}
}

 

3.配置文件

//3配置文件
<!-- 定义一个任务类 -->
    <bean id="mailJob" class="cn.itcast.erp.job.MailJob">
        <property name="mailUtil" ref="mailUtil"></property>
        <property name="storedetailBiz" ref="storedetailBiz"></property>
        <property name="to" value="erik2010163@163.com"></property>
        <property name="subject" value="【Auto-Mail】库存预警_时间:[time]"></property>
        <property name="text" value="亲!有[count]种商品已经库存不足,请登陆ERP系统查看"></property>
    </bean>
    <!-- 任务类描述 -->
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="mailJob"></property>
        <property name="targetMethod" value="doJob"></property>
        <!-- 去掉并发执行 -->
        <property name="concurrent" value="false"/>
    </bean>
    <!-- 触发器  -->
    <bean id="jobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="jobDetail"></property>
        <!-- 七子表达式: -->
        <property name="cronExpression" value="0/30 * * * * ? *"></property>
    </bean>
    <!-- 任务调度管理容器 -->
    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
        <property name="triggers">
            <list>
                <ref bean="jobTrigger"/>
            </list>
        </property>
        <!-- 跳过 新版本的检查 -->
        <property name="quartzProperties"> 
            <props>
                <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop> 
            </props>
        </property>
    </bean>
    
</beans>

 

 

转载于:https://www.cnblogs.com/liushisaonian/p/7091623.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值