Tomcat定时任务

来源:互联网 发布:支付宝撞库软件 编辑:程序博客网 时间:2024/04/29 08:46

原文:
The   load-on-startup   element   indicates   that   this   servlet   should   be   loaded   (instantiated   and   have   its   init()   called)   on   the   startup   of   the   web   application.   The   optional   contents   of   these   element   must   be   an   integer   indicating   the   order   in   which   the   servlet   should   be   loaded.   If   the   value   is   a   negative   integer,   or   the   element   is   not   present,   the   Container   is   free   to   load   the   servlet   whenever   it   chooses.     If   the   value   is   a   positive   integer   or   0,   the   container   must   load   and   initialize   the   servlet   as   the   application   is   deployed.   The   container   must   guarantee   that   servlets   marked   with   lower   integers   are   loaded   before   servlets   marked   with   higher   integers.   The   container   may   choose   the   order   of   loading   of   servlets   with   the   same   load-on-start-up   value.
 
译文:
load-on-startup 这个元素的含义是在服务器启动的时候就加载这个servlet(实例化并调用init()方法).这个元素中的可选内容必须为一个整数,表明了这个servlet被加载的先后顺序.当是一个负数时或者没有指定时,则表示服务器在该servlet被调用时才加载。当值为0或者大于0时,表示服务器在启动时就加载这个servlet.该容器肯定可以保证被标记为更小的整数的servlet比被标记为更大的整数的servlet更先被调用,还可已选择同样的load-on-start-up值来夹在servlets.
补充:正数的值越小,启动该servlet的优先级越高。


修改web.xml

增加<load-on-startup>配置,可以使<servlet-class>中的类随Tomcat启动而自动启动。

<servlet>        <servlet-name>ServerRun</servlet-name>        <servlet-class>com.xxx.ServerRun</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>ServerRun</servlet-name>        <url-pattern>/ServerRun</url-pattern>    </servlet-mapping>


新建一个serlet ServerRun

public class ServerRun extends HttpServlet {    private Timer timer = null;    public void init(ServletConfig config) throws ServletException {        super.init(config);        timer = new Timer(true);        timer.schedule(new MyTask(), 1000, 1000);                   }    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }    public void destroy() {    }}


工作类
import java.util.TimerTask;public class MyTask extends TimerTask {    @Override    public void run() {        System.out.println("【测试定时器】>>>");    }}



参考:http://blog.csdn.net/sjerry_9/article/details/8364751

http://blog.csdn.net/great1681/article/details/4048416

0 0
原创粉丝点击