123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package com.chinacreator.videoalliance.order.util;
- import com.chinacreator.videoalliance.common.util.DataSource;
- import com.frameworkset.common.poolman.SQLExecutor;
- import org.apache.log4j.Logger;
- import javax.servlet.ServletContextEvent;
- import javax.servlet.ServletContextListener;
- import java.util.TimerTask;
- /**
- * 监控器,用于项目启动时连接数据库,每隔5秒连接一次
- * 防止数据库长时间未连接造成断连
- * @author xu.zhou
- * @date 20210108
- */
- public class ContextListener implements ServletContextListener {
-
- private java.util.Timer timer = null;
-
- private static Logger logger = Logger.getLogger(TimerTask.class);
- @Override
- public void contextDestroyed(ServletContextEvent arg0) {
- // TODO Auto-generated method stub
-
- }
- @Override
- public void contextInitialized(ServletContextEvent arg0) {
- logger.info("启动定时任务");
- timer = new java.util.Timer(true);
- //每天的date时刻执行task,每隔persion 时间重复执行
- //timer.schedule(new Dbtask(), 1000, 1000 * 5);
- timer.schedule(new TimerTask() {
- @Override
- public void run() {
- try {
- try{
- String sql = "select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') from dual";
- String res = SQLExecutor.queryFieldWithDBName(DataSource.NET3G, sql);
- logger.info("当前时间:"+res);
- }catch(Exception e){
- logger.error(e.getMessage());
- e.printStackTrace();
- } finally {
- }
- } catch (Exception e) {
- logger.error("监控器定时任务执行出现异常,"+e.getMessage(),e);
- }
- }
-
- }, 1000, 1000 * 5);//1秒钟后开始执行,每隔5秒钟执行一次
- logger.info("已经添加任务调度表");
- }
- }
|