日期:2011-01-26 02:54:00 来源:本站整理
一个Java Web后台任务实施工具的筹划与实现[Java编程]
本文“一个Java Web后台任务实施工具的筹划与实现[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
提到后台任务,最简单想到的恐怕就是Java 中的Timer大概大名鼎鼎的开源按时器Quartz,但是,从本质讲,他们都是按时器,以时间隔断严峻的举行间歇性的履行.
假如要做一个可掌握性很强的后台任务履行工具,Timer和Quartz都不符合.
先看看要求:任务不随着Web服务器的启动而启动,任务的启动、关闭、重启都通过Web页面来掌握,任务是后台的一个线程,一个任务只能用一个线程去履行(单线程行列式的履行方法),在任务关闭的时刻,要等着任务履行完成再关闭,保证任务的履行的完好性.
基于以上的要求:没有现成的组建或开源的大饼,只能自己手写了.
分三步:解析、计划、实现.
1、解析
任务是一个线程.—— boolean sw
任务需求开关.——Runnable的静态变量.
任务在反复履行.—— while(sw){ do……}
任务需求通过一定的方法启动关闭.Test#exe
2、计划
定义一个任务类MyTask,加入开关,并增添设置开关状况的办法,在run办法中循环履行业务.循环条件以开关为准.
定义一个启动任务的工具,比方Test吧,并第一个static办法exe去履行任务,要单线程拜候,设置为synchronized的.
做三个简单的页面,index.jsp/on.jsp/off.jsp来掌握任务.(页面凑合着搞得,不想浪费太多时间,能阐明问题便可).
3、实现
package task; /** * 任务 * * @author leizhimin 2008-12-25 10:37:22 */ public class MyTask extends Thread { private static boolean sw = false; public void run() { while (sw) { //举行的全部业务 for (int i = 0; i < 9999999; i++) ; System.out.println("do------------"); } } public static void setOn() { if (sw == false) { System.out.println("开关状况被置为开!,任务开始履行!"); sw = true; } else { System.out.println("开关已经翻开,无须设置!"); } } public static void setOff() { if (sw == true) { System.out.println("开关关闭,正在履行的任务完毕后将终止!"); sw = false; } else { System.out.println("开关已经关闭,无须设置!"); } } } |
以上是“一个Java Web后台任务实施工具的筹划与实现[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论