【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:一个Java Web后台任务执行工具 - 讲义教程绩等信息,祝愿广大网友取得需要的信息,参考学习。
提到后台任务最容易想到的恐怕就是中的Timer或者大名鼎鼎的
开源定时器Quartz但是从本质讲他们都是定时器以时间间隔严格的进行间歇性的执行。
如果要做一个可控制性很强的后台任务执行工具Timer和Quartz都不合适。
先看看要求任务不随着Web服务器的启动而启动任务的启动、关闭、重启都通过Web页面来控制任务是后台的一个线程一个任务只能用一个线程去执行单线程队列式的执行方式在任务关闭的时候要等着任务执行完成再关闭保证任务的执行的完整性。
基于以上的要求没有现成的组建或
开源的大饼只能自己手写了。
分三步分析、
设计、实现。
一、分析 任务是一个线程。
—— boolean sw 任务需要开关。
——Runnable的静态变量。
任务在反复执行。
—— whilesw do…… 任务需要通过一定的方式启动关闭。
Testexe 二、设计 定义一个任务类MyTask加入开关并增加设置开关状态的方法在run方法中循环执行业务。
循环条件以开关为准。
定义一个启动任务的工具比如Test吧并第一个static方法exe去执行任务要单线程访问设置为synchronized的。
做三个简单的页面index.jsp/on.jsp/off.jsp来控制任务。
页面凑合着搞得不想浪费太多时间能说明
问题即可。
三、实现 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