web.xml
<servlet> <!-- 启动时调用的类名称 -->
<servlet-name>ServerRun</servlet-name> <!-- 类的路劲 -->
<servlet-class>com.ysln.tccms.action.ServerRun</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
import java.util.Date;
import java.util.List;
import java.util.TimerTask;
import com.ysln.tccms.bean.News;
import com.ysln.tccms.service.NewsService;
import com.ysln.tccms.utils.YSLNException;
public class Todo extends TimerTask {
private NewsService newsService;
public Todo(NewsService newsService2) {
this.newsService = newsService2;
}
@Override
public void run() {
//实例:定时发布资讯
List<News> list = newsService.selectPushNews();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (list != null) {
for (int i = 0; i < list.size(); i++) {
Date date = new Date();
String now = df.format(date);
// System.out.println("+++:"+now);
// System.out.println("----:"+list.get(i).getTiming());
//当定时时间与当前系统时间相等时发布
if ((list.get(i).getTiming()).equals(now)) {
// System.out.println("-------------");
try {
newsService.check("1", list.get(i).getNewsId(), list.get(i).getUrl());
System.out.println("定时资讯:" + list.get(i).getTitle() + "已发布");// 你需要执行的操作}
} catch (YSLNException e) {
e.printStackTrace();
}
}
}
}
}
}
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ysln.tccms.service.NewsService;
import java.io.*;
import java.util.Timer;
/**
* tomcat启动时执行定时任务
* @author lfg
*
*/
public class ServerRun extends HttpServlet{
private static final long serialVersionUID = 1L;
private Timer timer = null;
public void init(ServletConfig config) throws ServletException{
super.init(config);
//当获取不到所要调用的Service时使用此方法
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
NewsService newsService = (NewsService)factory.getBean("newsService");
timer = new Timer(true);
//设置多少时间执行一次
timer.schedule(new Todo(newsService), 0, 1000); //*60
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{}
public void destroy(){}
}