java定时器配置
2016-04-21 10:05
483 查看
废话不多说上代码:
定义定是加载类
<bean id="DiscountTask"
class="com.paic.common.dmz.DiscountTask">
</bean>
<!-- 任务调度 -->
<bean id="DiscountTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="DiscountTask"></ref>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>startTask</value>
</property>
</bean>
<!-- 调度计划每隔1分钟执行一次 -->
<bean id="loginTimesTaskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="DiscountTaskJob"/>
</property>
<!-- 首次执行 延迟一分钟-->
<property name="startDelay" value="6000"/>
<property name="repeatInterval" value="6000"/>
</bean>
<!-- 定时计划 每天7点执行-->
<!--
<bean id="loginTimesTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="DiscountTaskJob" />
</property>
<property name="cronExpression" value="0 0 7 ? * *"/>
</bean>
-->
<bean id="loginTimesTaskJobSchedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="loginTimesTaskTrigger"/>
</list>
</property>
</bean>
DiscountTask 类:
public class DiscountTask {
public static boolean RUNNING = false;// 任务当前运行状态
private static Object OBJECT = new Object(); // 资源锁
public DiscountTask() {
}
public void startTask() {
// 如果已存在任务运行,则直接结束当前任务
if (RUNNING){
return;
}
// 锁定资源锁 避免多任务同时运行
synchronized (OBJECT){
// 经运行状态改为正在运行状态
RUNNING = true;
try{
//这里谢处理逻辑
System.out.println("22222");
} catch (Exception e){
LOGGER.error(e);
} finally{
// 将运行状态该为结束非运行状态
RUNNING = false;
}
}
}
}
定义定是加载类
<bean id="DiscountTask"
class="com.paic.common.dmz.DiscountTask">
</bean>
<!-- 任务调度 -->
<bean id="DiscountTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="DiscountTask"></ref>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>startTask</value>
</property>
</bean>
<!-- 调度计划每隔1分钟执行一次 -->
<bean id="loginTimesTaskTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="DiscountTaskJob"/>
</property>
<!-- 首次执行 延迟一分钟-->
<property name="startDelay" value="6000"/>
<property name="repeatInterval" value="6000"/>
</bean>
<!-- 定时计划 每天7点执行-->
<!--
<bean id="loginTimesTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="DiscountTaskJob" />
</property>
<property name="cronExpression" value="0 0 7 ? * *"/>
</bean>
-->
<bean id="loginTimesTaskJobSchedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="loginTimesTaskTrigger"/>
</list>
</property>
</bean>
DiscountTask 类:
public class DiscountTask {
public static boolean RUNNING = false;// 任务当前运行状态
private static Object OBJECT = new Object(); // 资源锁
public DiscountTask() {
}
public void startTask() {
// 如果已存在任务运行,则直接结束当前任务
if (RUNNING){
return;
}
// 锁定资源锁 避免多任务同时运行
synchronized (OBJECT){
// 经运行状态改为正在运行状态
RUNNING = true;
try{
//这里谢处理逻辑
System.out.println("22222");
} catch (Exception e){
LOGGER.error(e);
} finally{
// 将运行状态该为结束非运行状态
RUNNING = false;
}
}
}
}
相关文章推荐
- jvm虚拟机的故事之(我是一个Java class)
- 正确使用Java的foreach语句
- myeclipse的jre与安装的jre不同之处
- Spring:完全通过程序控制Spring事务
- Java倒计时实例
- myeclipse使用SVN团队开发
- Spring通过构造方法注入的四种方式
- Java 日期注解
- Android笔记之用eclipse给zxing打jar包
- Java设计模式编程中简单工厂与抽象工厂模式的使用实例
- 在eclipse中查看class源码
- Spring的事务配置
- input type="radio" 的用法
- java基础知识归纳
- java 时间
- Java集合对象排序测试
- Spring struts2 hibernate MyBatis SpringMVC 原理
- Spring4集成quartz,Maven打包为可执行jar或者war
- java取cpu、盘符和主板序列号
- struts2中的 ThreadLocal模式