Web中的定时操作

原创 2007年09月19日 10:41:00
Web中的定时操作

1 什么是定时操作
    有些时候我们想做一些在将来的事件内发生的事情的预订,例如,9月18号自动弹出警告,每周五自动查毒等,这都叫做定时操作。

2 普通的定时操作
    在普通的开发环境中,定时操作的处理非常简单,可以使用操作系统自带的task功能来完成。当然最多还是做一个服务,服务中做一个定时器Timer对象,每当Timer被触发的时候做一些相关的操作。

3 Web中的定时操作
常见的Web定时操作,以定时发送mail为例,假如系统要求能够向系统输入一个特定的将来的事件,在这个事件我们向对应的目标mail地址发送一封按照某个模板生成的mail。我们这里不分析发送mail的细节,我们只讨论怎么定时的发送mail。

3.1 Web应用程序的特点
Web应用程序运行在一个特定的web容器中,例如Tomcat或者Websphere,我们这里不WebSphere,Weblogic这些重量级的服 务器,应为这些服务器已经提供了功能非常强大的定期功能,只需要你去看文档照着操作就好了,这里我们主要讲解如何在开源类库的支持下完成这些操作。
上面说了Web应用程序运行在Web容器中,那么Web容器停止服务器之后,Web应用程序也就停止了,所以定时器不需持久化,即定发生的任务必须保存在数据库中。
我们回头考虑上面提到的定时发送mail的需求,那么就必须讲定时发送mail的记录保存在数据库中,那么需要把那些跟定时操作相关的信息保存在数据库中 呢?首先肯定是定时发送mail的时间,这个是肯定的,但是还有没有其他内容呢,对了,还需要一个关联的信息,如何通过这个定时记录联系到具体的业务。例 如这里需要有一个客户id字段,这样子才能联系到对应的客户。

3.2 如何定时发送
Web应用程序有一些特殊的接口,例如:Listener,这个接口的实现类在Web应用程序启动的时候会第一时间启动,而不需要用户通过IE等浏览器点 击操作。所以这个类是启动Timer的最佳位置。那么Timer其中之后放在哪里呢?放在Web应用程序的一个叫做Application的范围之内 (ServletContext Scope)。定时器设定完成了,这样你就可以在用户每次定义定时发送Mail的时候将定时信息放在数据库中即可,Timer会自动的遍历数据库中的内 容,发现事件匹配的时候就会调用具体的操作。

已有的Job Scheduler框架:
例如Quartz (http://www.opensymphony.com/quartz/)

 

JAVA中使用Timer,TimerTask轮循数据库,执行定时任务

众所周知,Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。如何...

在IDEA中实战Git

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 场景三:小...
  • autfish
  • autfish
  • 2016年09月12日 17:56
  • 64931

用ServletContextListener和Task,Timer实现WEB服务器的定时操作

有个项目需要在WEB服务器上实现定时从不同的数据库中取出更新以后的数据,提供给客户端JS读取,一开始考虑的是用Servlet来实现,在Servlet里面来开线程处理这个问题。后来,找到了这些资料: ...

quartz定时执行任务,并配置web.xml的操作方法

今天项目上需要做个定时任务,临时学的,quartz的功能还是很强大用起来也方便,这里的demo只是实现每天定时执行一次,其他功能可以在此基础上继续深入学习,哈哈 睡觉,明天继续。 一、maven依赖...
  • zwcwu31
  • zwcwu31
  • 2017年11月20日 19:36
  • 48

Web中的定时操作

Web中的定时操作 1 什么是定时操作     有些时候我们想做一些在将来的事件内发生的事情的预订,例如,9月18号自动弹出警告,每周五自动查毒等,这都叫做定时操作。 2 普通的定时操作...

web操作代码

  • 2014年04月24日 19:44
  • 160KB
  • 下载

总账操作基础 web_adi 的应用

  • 2013年07月29日 16:23
  • 919KB
  • 下载

在Java web项目springMVC框架中实现定时任务

在工作中遇到一个需求,需要定时自动执行某项功能,这就需要用到定时任务了。首先先来理一下实现思路,定时任务可以用Java.util中的timer类,把需要定时执行的任务封装到timer类的调度表中,这个...

SharePoint- Web应用程序操作手册

  • 2014年11月23日 22:16
  • 2.23MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web中的定时操作
举报原因:
原因补充:

(最多只允许输入30个字)