<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc"  
	xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.0.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
		http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd"
	default-lazy-init="true">

	<description>Spring task Configuration</description>
	
    <!-- 加载配置属性文件 -->
	<context:property-placeholder ignore-unresolvable="true" location="classpath:config.properties" />
	                                                                                                                                                                              
	<!-- 短信与系统消息的计划任务 -->
	<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean" >  
       <property name="triggers" ref="showTrigger">  
       </property>  
       <property name="autoStartup" value="true"/>  
	</bean> -->
	<!--<bean id="smsTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail" ref="smsJobDetail"/>  
       &lt;!&ndash;<property name="cronExpression" value="0/2 * * * * ?"/> 测试 &ndash;&gt;
       <property name="cronExpression" value="0 0 12 * * ?"/>&lt;!&ndash;每天中午12点批量处理用户短信与 &ndash;&gt;
	</bean> 
	
	<bean id="smsJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="remindService"/>  
        <property name="targetMethod" value="remindTask"/>  
        <property name="concurrent" value="false"/>&lt;!&ndash; 是否允许任务并发执行。当值为false时，表示必须等到前一个线程处理完毕后才再启一个新的线程 &ndash;&gt;
	</bean> 
	
	&lt;!&ndash; 赛事定时任务 &ndash;&gt;
	<bean id="showTrigger" class="com.cku.oa.show.service.MainShowsService"></bean> 
	
	<bean id="showJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="mainShowsService"/>  
        <property name="targetMethod" value="updateRegisterFlag"/>  
        <property name="concurrent" value="false"/>
	</bean> 
	
	&lt;!&ndash; 会员续费定时任务 该任务应该在删除未缴费订单后的1分钟里执行&ndash;&gt;
	<bean id="memberTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
       <property name="jobDetail" ref="memberDetail"/>  
       <property name="cronExpression" value="0 1 2 * * ?"/>&lt;!&ndash;该任务应该在删除未缴费订单后的1分钟里执行&ndash;&gt;
	</bean> 
	
	<bean id="memberDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="deductCostService"/>  
        <property name="targetMethod" value="aotoRenew"/>  
        <property name="concurrent" value="false"/>
	</bean> 

	&lt;!&ndash; 自动审核定时任务 该任务应该在每天0时0分0秒的时候执行&ndash;&gt;
	<bean id="autoAuditTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail" ref="autoAuditDetail"/>
       <property name="cronExpression" value="0 0 0 * * ?"/>&lt;!&ndash;该任务应该在每天0时0分0秒的时候执行&ndash;&gt;
	</bean>

	<bean id="autoAuditDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="autoAuditService"/>
        <property name="targetMethod" value="autoAudit"/>
        <property name="concurrent" value="false"/>
	</bean>

	&lt;!&ndash; 资格证书定时任务 &ndash;&gt;
	<bean id="certificateTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
       <property name="jobDetail" ref="groomerQualificationDetail"/> 
       &lt;!&ndash; <property name="cronExpression" value="0 0/3 * * * ?"/>  &ndash;&gt;
        <property name="cronExpression" value="0 0 1 * * ?"/>  &lt;!&ndash;每天凌晨1点批量处理资格证书&ndash;&gt;
	</bean>
	
	&lt;!&ndash; 美容资格证书 &ndash;&gt;
	<bean id="groomerQualificationDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="groomerQualificationCertificateService"/>  
        <property name="targetMethod" value="deleteQualificationCertificate"/>  
        <property name="concurrent" value="false"/>&lt;!&ndash; 是否允许任务并发执行。当值为false时，表示必须等到前一个线程处理完毕后才再启一个新的线程 &ndash;&gt;
	</bean> 
	
	&lt;!&ndash; 资格证书定时任务 &ndash;&gt;
	<bean id="handlerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
       <property name="jobDetail" ref="handlerQualificationDetail"/>  
      &lt;!&ndash; <property name="cronExpression" value="0 0/3 * * * ?"/> 每三分钟执行一次 &ndash;&gt;
      <property name="cronExpression" value="0 0 1 * * ?"/>  &lt;!&ndash;每天凌晨1点批量处理资格证书&ndash;&gt;
	</bean>-->
	
	<!-- 培训资格证书 -->
<!--	<bean id="handlerQualificationDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="handlerQualificationCertificateService"/>  
        <property name="targetMethod" value="deleteQualificationCertificate"/>  
        <property name="concurrent" value="false"/>&lt;!&ndash; 是否允许任务并发执行。当值为false时，表示必须等到前一个线程处理完毕后才再启一个新的线程 &ndash;&gt;
	</bean> -->
	
	<!-- 订单的计划任务，每天晚上1点清空 -->
<!--	<bean id="orderDeleteTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail" ref="orderDeleteDetail"/>  
       &lt;!&ndash;<property name="cronExpression" value="0 40 11 * * ?"/> &ndash;&gt;
       <property name="cronExpression" value="0 0 2 * * ?"/> &lt;!&ndash; 每天凌晨2点批量删除会员未缴费的订单&ndash;&gt;
	</bean>
	<bean id="orderDeleteDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="paymentOrderService"/>  
        <property name="targetMethod" value="removeUnpayOrder"/>  
        <property name="concurrent" value="false"/>&lt;!&ndash; 是否允许任务并发执行。当值为false时，表示必须等到前一个线程处理完毕后才再启一个新的线程 &ndash;&gt;
	</bean>-->
	
	<!-- 犬舍核算计划任务,每天下午23点59分处理核算状态 -->
<!--	<bean id="kennelTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail" ref="kennelCalculateDetail"/>  
       &lt;!&ndash;<property name="cronExpression" value="0 0/5 * * * ?"/> &ndash;&gt;
       <property name="cronExpression" value="0 59 23 * * ?"/> &lt;!&ndash;每天下午23点59分批量处理核算状态&ndash;&gt;
	</bean>
	<bean id="kennelCalculateDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="kennelService"/>  
        <property name="targetMethod" value="kennelUpdateCalculateState"/>  
        <property name="concurrent" value="false"/>&lt;!&ndash; 是否允许任务并发执行。当值为false时，表示必须等到前一个线程处理完毕后才再启一个新的线程 &ndash;&gt;
	</bean>-->
	
	<!-- 测试定时任务 zhuoHeng-->
   <!-- <bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
       <property name="jobDetail" ref="testJobDetail"/>  
       <property name="cronExpression" value="0/5 * * * * ?"/> 
    </bean> 
    
    <bean id="testJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
        <property name="targetObject" ref="mainShowsService"/>  
        <property name="targetMethod" value="testJobDetail"/>  
        <property name="concurrent" value="false"/>
    </bean> -->
</beans>