您的位置:首页 > 编程语言 > Java开发

javaweb 定时任务 java定时任务

2013-06-27 14:42 337 查看
有两种实现方法:

一:在web.xml里添加一个listener启动服务器时启动该监听器

在web.xml中添加如下代码:

<listener>
<listener-class>com.zyx.fund.MyListener</listener-class>
</listener>


在源代码处有一个MyListener.java

/**
*
*/
package com.zyx.fund;

import java.util.Timer;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
* @author openks
* @since 2013-6-6
*/
public class MyListener implements ServletContextListener {

private Timer timer = null;

public void contextDestroyed(ServletContextEvent arg0) {
timer.cancel();
}

public void contextInitialized(ServletContextEvent arg0) {
timer = new Timer(true);
//设置任务计划,启动和间隔时间
//启动后 1min执行该定时器,每天执行一次
timer.schedule(new MyTask(), 1*60*1000, 24*60*60*1000);
}
}
还有一个MyTask.java

/**
*
*/
package com.zyx.fund;

import java.util.ArrayList;
import java.util.List;
import java.util.TimerTask;

/**
* @author openks
* @since 2013-6-6
*/
public class MyTask extends TimerTask {

@Override
public void run() {
//		自己的逻辑代码
}

}


二:使用spring中的定时工具

1.在spring配置文件中添加如下代码

<!--  定时器开关-->
<bean id="sendTask" class="com.zyx.quartz.SendTask" />
<task:scheduled-tasks>
<task:scheduled ref="sendTask" method="work" cron="0 59 23 * * ?"/> <!-- 在每天的23:59触发该定时器-->
</task:scheduled-tasks>


2.源代码出有com.zyx.quartz.SendTask.java

package com.zyx.quartz;

import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;

import com.zyx.base.BaseBIZ;
import com.zyx.fund.bean.Fund;
import com.zyx.fund.bean.User;
import com.zyx.fund.biz.FundBIZ;

public class SendTask {
private Logger log = Logger.getLogger(SendTask.class);

public void work(){
log.info("\n开始定时处理.....");
//自己的业务逻辑
log.info("\n定时处理结束.....");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: