java监听器实现定时任务
来源:互联网 发布:kdj优化背离源码 编辑:程序博客网 时间:2024/05/17 23:03
1、java代码
package com.md.listen;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.log4j.Logger;
import com.md.entity.StoreInfo;
import com.md.service.implement.ListenServiceImpl;
import com.md.service.interfaces.IListenService;
public class Mylistener implements ServletContextListener{
private Logger logger=Logger.getLogger(Mylistener.class);
private StringBuffer sb=new StringBuffer();
private IListenService listenService=new ListenServiceImpl();
public void contextDestroyed(ServletContextEvent arg0) {
logger.info("==*********************====监听器已经销毁!项目关闭了!====*******************====");
}
public void contextInitialized(ServletContextEvent arg0) {
logger.info("==*********************====监听器监听到项目启动了!====*******************====");
try{
task();
logger.info("====%%%%%%%====启动定时任务成功!===%%%%%%%%===");
}catch(Exception e){
logger.error("====######===启动定时任务失败!===#######====");
}
}
//定时任务
public void task(){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 13); // 控制时
calendar.set(Calendar.MINUTE, 33); // 控制分
calendar.set(Calendar.SECOND, 00); // 控制秒
Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的01:01:01
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask(){
public void run() {
logger.info("-------开始执行定时检查服务器是否接通的任务-------");
int total=0;
try {
List<StoreInfo> list=listenService.checkOrNot();
logger.info("-------开始执行每隔1小时检查一次定时检查服务器是否接通的任务-------");
for(StoreInfo storeinfo:list){
try {
Boolean m=PingIpUtil.pingIp(storeinfo.getMdmc(),storeinfo.getIpadd());//ping的結果
if(m==true){
logger.info(storeinfo.getMdmc()+"能ping通!");
Boolean b=listenService.getOneInfo(storeinfo.getIpadd(),sb.append("dg").toString());
if(b==true){
logger.info(storeinfo.getMdmc()+"----->没有故障!");
}
}else{
logger.error(storeinfo.getMdmc()+"不能ping通!请联系负责人协助解决!");
total++;
continue;
}
} catch (Exception e) {
logger.error(storeinfo.getMdmc()+"----->存在故障,请联系负责人协助解决!");
total++;
continue;
}
//拼接字符串,把不通的门店解析
//访问http://127.0.0.1/TestTransfer/go?csz=String
}
logger.error("---结果-------》共"+total+"家门店出现故障!");
logger.info("===开始发送邮件==》》》》》》》》》》》》》》》》》====");
//调用方法发送邮件
EmailUtil.startSendEmail("12345667@qq.com");
EmailUtil.startSendEmail("1234566@126.com");
logger.info("===发送邮件==》》》》》》》》》》》》》》》》》成功!====");
} catch (Exception e) {
logger.error("===执行定时任务失败!=="+e.getMessage());
}
logger.info("—--*******---—-执行定时检查门店服务器是否接通的任务完成——--******--–");
}
}, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天的这个时间(23:59:59)固定执行 时间
}
}
2、web.xml文件配置
<listener>
<listener-class>com.md.listen.Mylistener</listener-class>
</listener>
- java监听器实现定时任务
- 监听器实现定时任务(java定时器)
- Java监听器执行定时任务
- Java监听器执行定时任务
- 使用监听器实现Java Web的定时任务
- 使用监听器实现Java Web的定时任务
- 定时任务实现 java
- java 定时任务实现
- Java定时任务实现
- java实现定时任务
- 实现java定时任务
- java定时任务实现
- java实现定时任务
- java实现定时任务
- java实现定时任务
- Java实现定时任务
- java web使用监听器实现定时周期性执行任务的功能
- javaWeb监听器结合定时器实现定时执行任务
- 探索 ConcurrentHashMap 高并发性的实现机制
- Android:Layout_weight的深刻理解
- ffmpeg 滤镜及其效果
- 导航控制器UINavigationController
- json返回的日期通常都是/Date(1354648740000)/这样的格式,下面的函数可以转换成常用的格式 如:2012-12-05
- java监听器实现定时任务
- Android 长按setOnItemLongClickListener 注意细节
- hibernate.cfg.xml 配置解决mysql 中文输入问题
- ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
- CorePlot1.0:安装
- ACM学习-动态规划-复制书稿问题
- Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference
- LightOJ 1336 Sigma Function
- MongoDB(3.0.6)查询性能分析