一、quartz.properties文件配置
quartz.corePoolSize=10
quartz.maxPoolSize=20
quartz.queueCapacity=50
二、springcontext-task.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd" default-lazy-init="true">
<bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="${quartz.corePoolSize}"/>
<property name="maxPoolSize" value="${quartz.maxPoolSize}"/>
<property name="queueCapacity" value="${quartz.queueCapacity}"/>
</bean>
<!--訂單統計推送-->
<bean id="orderAccordTask" class="com.dwx.project.task.OrderAccordTask"/>
<bean id="OrderAccordDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="orderAccordTask"/>
<property name="targetMethod" value="execute"/>
<property name="concurrent" value="false"/>
</bean>
<bean id="OrderAccordTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="OrderAccordDetail"/>
<property name="cronExpression" value="0 5 0 * * ?"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="OrderAccordTrigger"/>
</list>
</property>
<property name="taskExecutor" ref="executor"/>
<property name="autoStartup" value="true"></property>
</bean>
</beans>
三、Java中實現
package com.dwx.project.task;
import org.apache.log4j.Logger;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 訂單統計
*
* @author: davis
* @date: create in 2017/4/5.
*/
public class OrderAccordTask {
private static final Logger LOGGER = Logger.getLogger(OrderAccordTask.class);
@Resource
private IOrderAccordService orderAccordService;
public void execute() {
//業務操作
}
}