Web中的定时操作

【python内功修炼009】:基于threading.Timer实现任务定时器 阅读详情
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定时器在Web开发中的应用 在Web开发中,定时任务是非常常见且重要的功能之一。它可以用于定期执行一些特定的任务,例如定时刷新页面、定时发送邮件或者执行后台任务等。Java提供了多种定时器的实现方式,其中最常用的是使用类和接口。 阅读详情

相关推荐

IO多路转接 ——— select、poll、epoll

select是系统提供的一个多路转接接口。select函数的函数原型如下: 参数说明:参数timeout的取值:返回值说明:select调用失败时,错误码可能被设置为:fd_set结构与sigset_t结构类似,fd_set本质也是一个位图,用位图中对应的位来表示要监视的文件描述符。 调用select函数之前就需要用fd_set结构定义出对应的文件描述符集,然后将需要监视的文件描述符添加到文件描述符集当中,这个添加的过程本质就是在进行位操作,但是这个位操作不需要用户自己进行,系统提供了一组专门的接口,用

2021dragon的博客 7977

Struts2项目中定时器配置以及调用

applicationContext-common.xml中配置相关配置 class引的是定时器所执行方法的Action地址,配置唯一的id:“job1” 上边job1配置jobtask2的定时任务,其中getRyxx是在上述HlqjAction文件中要执行的方法名字 给定时任务jobtask2设置执行时间为每周六18点30分,同时定义doTime2的唯一id 最后只需要把doTime2放到统一容...

FL_1230的博客 1807

【AutoSAR CAN】04 - 如何使用Davinci Configurator Pro工具配置CAN的波特率

改参数为Tx Arbitration start delay value ,可用于延迟仲裁过程的起始点,用来补偿CAN收发器及线路的传输延迟,以优化传输性能。有关详细信息,请参阅硬件手册。该参数指定采样点模式,即选择多少个采样点的数量,如果选择了每比特三个样本选项,则该点标记第三个样本的位置;我们要配置CAN的波特率,其实就是要弄明白 CAN 控制器的位时序即可,具体的理论部分和EB的配置部门可参考文章《该参数表示传播延迟有多少个时间单位Tq,即上文中的Propagation delay/PROGSEG。.

2601

Java-struts2-quartz定时任务

先创建一个applicationContext_timer.xml,具体内容如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi

qq_39957042的博客 1394

ESP8266-Arduino网络编程实例-异步TCP客户端

本次实例将使用ESPAsyncTCP库实现一个简单的客户端。

视觉与物联智能 1740

[SC]SystemC在CPU/GPU验证中的应用(六)

本文提供了一个SystemC学习路线图,包含50个由浅入深的编程实例,涵盖从基础模块到复杂SoC建模的全过程。示例包括:基础模块(时钟、计数器)、通道(FIFO、握手)、TLM2.0接口、总线模型(AXI-Lite)、CPU/GPU内核实现、功耗分析、断言验证等。重点展示了SystemC在硬件验证中的关键应用:VCD波形生成、UVM-SystemC框架、Verilog DPI协同仿真、Python集成、NoC路由器和完整SoC建模(CPU+Cache+DRAM+互连)。每个示例提供完整代码和详细注释,建议分

元直的博客 1492

struts2+quartz定时任务

最近有需求要写一个定时任务 目的是更新一些员工/人员与部门之间的关系 项目用的是struts2 当我加了spring的jar包之后写了一个定时任务 项目经理不让用spring 就修改一下 这次贴个全的 下面是任务类package com.timetask.action; import java.io.BufferedWriter; import java.io.File; import java....

cm777的博客 5939

Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.5 V4L2 control的原理和实现

既然涉及到视频输入,就会有很多与 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。 内核中已经为我们提供了这个控制类型的,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。 返回总目录...

DSMGUOGUO的博客 1435

Struts2 Spring 定时器

1.applicationContext-timer.xml http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"  xmlns:aop="

HAPP NEW JAVA 917

机器学习笔记 - 基于深度学习(HomographyNet)的图像单应性估计

论文提出了一个深度卷积神经网络来估计一对图像之间的相对单应性。我们的前馈网络有10层,以两个堆叠的灰度图像作为输入,并产生一个8自由度的单应性,可用于映射从第一个图像到第二个图像的像素。我们为HomographyNet提出了两种卷积神经网络架构一个直接估计实值单应性参数的回归网络,以及一个在量化单应性上产生分布的分类网络。我们使用4点单应性参数化,将一个图像的四个角映射到第二个图像。我们的网络使用扭曲的MS-COCO图像以端到端的方式进行训练。论文的贡献如下。........................

学以致用 知行合一 3083

科研——ICONIP论文修改和提交

ICONIP说明文档

Blackoutdragon的博客 6647

我有10种方法搞定定时任务,10种!

最近有几个读者私信给我,问我他们的业务场景,要用什么样的定时任务。确实,在不用的业务场景下要用不同的定时任务,其实我们的选择还是挺多的。我今天给大家总结10种非常实用的定时任务,总有一种是适合你的。

程序员高级码农的博客 4617

MicroBlaze系列教程(5):AXI_UART16550的使用

axi-uart16550是Xilinx的一款串口IP核,支持配置成16450或16550模式,16550和16450是指的早期电脑主板上的串口芯片型号,16550相比于16450多了FIFO,现在已经很少使用。相比于,16550支持1或2位停止位,包括uartlite所有的功能,而且支持在SDK中灵活对波特率、数据、校验方式进行配置。与uartlite不同的是,不能单独指定发送中断和接收中断函数,只有一个中断函数,通过event参数来区分当前是发送或接收中断。

whik1194的博客 4541

在开发web时 写一个定时器

 一、要完成的功能       web项目中,由于对数据库的大批量数据的添加和删除,往往要求,服务器能在深夜完成对数据库的大量数据操作,此时就需要一个定时器来完成这项任务。      本次进行的事例为,每天晚上两点将当天的数据插入到数据库中,并将已经过期的数据删除。 二、定时器的应用 2.1定时器的编写     (1).Timer.Schdeule();      要注意首先是定义...

奔跑的女程序员~~ 600

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

quartx

您还未登录!|登录|注册|帮助 优快云首页资讯论坛博客下载搜索 更多 Struts 2 的专栏 很高兴能够帮助大家! 目录视图摘要视图订阅 优快云博客专栏重磅推出,汇集精华系列博文! 2011中国移动开发者大会门票超低价团购! 【Android编程之旅】社区活动:写博文获精彩图书! 提交原创APP,20万等你赢 Web中的定时操作

java_ee爱好者 1030

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaWeb定时刷新与定时跳转

(1)JavaWeb定时刷新与定时跳转 package responsePrint; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public c.

weixin_45460315的博客 957

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

一、Web API介绍

Web API介绍一级目录二级目录三级目录## 一、Web API介绍1.1 API的概念二、DOM介绍DOM是什么?2.3获取元素2.3.1 根据ID去获取2.3.2根据标签名获取元素2.3.3 H5新增的获取元素的方法2.3.4 获取特殊元素三、事件基础3.1事件三要素3.2常见的鼠标事件四、操作元素4.1改变元素内容(获取或设置)4.2 常用元素的属性操作获取属性的值设置对象的值4.3分时问候4.4表单元素的属性操作4.5全选和反选4.6样式属性操作4.7点击和关闭案例排他操作自定义属性

weixin_52580155的博客 1644

Web APIs - DOM操作元素

掌握DOM属性操作,完成元素内容设置,元素属性设置,控制元素样式。 - DOM简介 - 获取DOM元素 - 操作元素内容 - 操作元素属性 - 定时器-间隔函数 - 综合案例

闲杂人 1100

java ee定时器_Java定时器的连两个小示例

java定时器在web中的应用还是颇为广泛的,比如我们玩的qq农场等等典型的例子,下面就是一个后台应用程序和web后台程序的两个例子(1) 后台程序packagecom.test;importjava.io.IOException;importjava.util.Timer;/***定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTa...

weixin_39924329的博客 132

JavaScript 中的 Web APIs —— BOM 和 DOM 学习复习笔记

BOM 和 DOM 复习笔记参考b站李立超老师JS教学视频DOM文档对象模型将网页中的每一部分都转换为了对象,对象之间还有父子、兄弟关系,想要修改页面就先获取DOM对象再操作对象BOM浏览器对象模型,提供可以操作浏览器的对象NodeList。

Demoncode_y的博客 891
上一篇: Dojo 快速安装
下一篇: 第四部分 开发实例 使用Struts2开发TeamWare
struts2
博客等级 码龄19年 885粉丝 103原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值