当前位置: 首页 > news >正文

去哪网实习总结:开发定时任务(JavaWeb)

本来是以做数据挖掘的目的进去哪网的,结构却成了系统开发。。

只是还是比較认真的做了三个月,老师非常认同我的工作态度和成果。。

实习立即就要结束了。总结一下几点之前没有注意过的变成习惯和问题,分享给大家。


同一时候打个广告:去哪网内审部招JavaWeb开发实习生。时间很自由,每周一天、周六周日甚至都能够。时间充裕的小伙伴给我留言啊,挣个零花钱,还能长点经验。。

。。(保研的、想工作的大四狗最合适只是了。

。。)




事实上定时任务非常easy。js事实上也做过。就是Timer类的 Timer.schedule(TimerTask task, Date time, long period)方法而已,三个參数各自是:任务、延迟、间隔。

给个完整的代码:

首先是BugXmlTimer类:

public class BugXmlTimer  {
	public Timer timer;

	public void timerStart(){
		timer = new Timer();
		Date datetime=new Date();
		Date midnightDate=new Date();
		SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	    try {
	    	midnightDate = sdf2.parse(sdf1.format(datetime)+" 10:06:00");
	    } catch (ParseException e) {
	        // TODO Auto-generated catch block
	        e.printStackTrace();
	    }
	    System.out.println("before task");
	    long time = midnightDate.getTime()-datetime.getTime();
	    //立马运行,然后每隔10s运行一次
	    timer.schedule(new BugXmlTimerTask(), 0, 10000);//time
	}
   
	public void timerStop(){
		if(timer!=null) 
			timer.cancel();
	}
   
	public static void main(String[] args){
		BugXmlTimer myTimer=new BugXmlTimer();
        // TODO Auto-generated method stub
        myTimer.timerStart();
   }
}


其次是TimerTask类:
<pre name="code" class="java">public class BugXmlTimerTask extends TimerTask {
    @Override
    public void run() {
    	System.out.print("run task");
    	try {
			<strong>sendMail();//下一篇博客教你发送邮件</strong>
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
 
  

最后加入Listener类:

public class MyTimerListener implements ServletContextListener {
	
<span style="white-space:pre">	</span>private BugXmlTimer  mytimer = new BugXmlTimer  ();
    public void contextInitialized(ServletContextEvent event) {
        mytimer.timerStart();
    }
    public void contextDestroyed(ServletContextEvent event) {
        mytimer.timerStop();
    }
    
}


最后不要忘了配置web.xml的listener节点:

<listener>
    <listener-class>com.TimeListener.MyTimerListener</listener-class>
</listener>





相关文章:

  • 【软件周刊第 36 期】Linux Kernel 4.12 正式发布;Fedora 26 下周二到来
  • go学习--控制语句
  • selenium打开chrome时,出现 您使用的是不受支持的命令行标记:--ignore-certificate-errors...
  • 揭开PaaS的神秘面纱 关注PaaS的实际业务价值
  • Django 数据库ORM 操作 - 字段的类型和参数
  • 2016年8月印度电信市场表现
  • GDI+学习之------ 画线、区域填充、写字
  • 参加51CTO学院软考培训,我通过啦
  • 资金流学习-逐笔交易的分析
  • C语言基础知识【作用域规则】
  • C语言基础知识【指针】
  • Apache无法启动报错
  • noip2014 普及组
  • 利用SEH防范BP(int 3)断点
  • 用vue开发单页应用的一些心得
  • 《深入 React 技术栈》
  • CentOS6 编译安装 redis-3.2.3
  • es6
  • JDK9: 集成 Jshell 和 Maven 项目.
  • MQ框架的比较
  • Mybatis初体验
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • python docx文档转html页面
  • Python学习之路13-记分
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue2.0项目引入element-ui
  • vue-loader 源码解析系列之 selector
  • 如何在 Tornado 中实现 Middleware
  • 小程序开发之路(一)
  • 我们雇佣了一只大猴子...
  • ​如何在iOS手机上查看应用日志
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #14vue3生成表单并跳转到外部地址的方式
  • #pragam once 和 #ifndef 预编译头
  • (52)只出现一次的数字III
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (理论篇)httpmoudle和httphandler一览
  • (算法)Travel Information Center
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .net生成的类,跨工程调用显示注释
  • .NET实现之(自动更新)
  • .NET学习全景图
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @GetMapping和@RequestMapping的区别
  • @在php中起什么作用?
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [20180129]bash显示path环境变量.txt
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [Asp.net mvc]国际化
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子