1ce231ed32ceda67ddf7788701e180ad9a3b77ee.svn-base 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.chinacreator.videoalliance.order.util;
  2. import com.chinacreator.videoalliance.common.util.DataSource;
  3. import com.frameworkset.common.poolman.SQLExecutor;
  4. import org.apache.log4j.Logger;
  5. import javax.servlet.ServletContextEvent;
  6. import javax.servlet.ServletContextListener;
  7. import java.util.TimerTask;
  8. /**
  9. * 监控器,用于项目启动时连接数据库,每隔5秒连接一次
  10. * 防止数据库长时间未连接造成断连
  11. * @author xu.zhou
  12. * @date 20210108
  13. */
  14. public class ContextListener implements ServletContextListener {
  15. private java.util.Timer timer = null;
  16. private static Logger logger = Logger.getLogger(TimerTask.class);
  17. @Override
  18. public void contextDestroyed(ServletContextEvent arg0) {
  19. // TODO Auto-generated method stub
  20. }
  21. @Override
  22. public void contextInitialized(ServletContextEvent arg0) {
  23. logger.info("启动定时任务");
  24. timer = new java.util.Timer(true);
  25. //每天的date时刻执行task,每隔persion 时间重复执行
  26. //timer.schedule(new Dbtask(), 1000, 1000 * 5);
  27. timer.schedule(new TimerTask() {
  28. @Override
  29. public void run() {
  30. try {
  31. try{
  32. String sql = "select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss') from dual";
  33. String res = SQLExecutor.queryFieldWithDBName(DataSource.NET3G, sql);
  34. logger.info("当前时间:"+res);
  35. }catch(Exception e){
  36. logger.error(e.getMessage());
  37. e.printStackTrace();
  38. } finally {
  39. }
  40. } catch (Exception e) {
  41. logger.error("监控器定时任务执行出现异常,"+e.getMessage(),e);
  42. }
  43. }
  44. }, 1000, 1000 * 5);//1秒钟后开始执行,每隔5秒钟执行一次
  45. logger.info("已经添加任务调度表");
  46. }
  47. }