社区
Web 开发
帖子详情
如何配置 “定时自动运行servlet”
马行空牛耕田
2004-10-25 04:41:22
系统环境:
OS : unix / windows
Server : webspere 5.0
tech :struts , hibernate ,ejb
想让一个servlet定时自动运行,做一些后台处理,可否配置?如何配置?
...全文
363
15
打赏
收藏
如何配置 “定时自动运行servlet”
系统环境: OS : unix / windows Server : webspere 5.0 tech :struts , hibernate ,ejb 想让一个servlet定时自动运行,做一些后台处理,可否配置?如何配置?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
马行空牛耕田
2004-10-27
打赏
举报
回复
准备结贴了,哪位还有高见,在下洗耳恭听,否则今天下午5点结贴!
马行空牛耕田
2004-10-26
打赏
举报
回复
再up一下 :)
马行空牛耕田
2004-10-26
打赏
举报
回复
thanks to ChDw(米)
我明白了,其实API文档里都有,但我没有认真去看,想不到java已经把这个问题解决的很好了,呵呵!
ChDw
2004-10-26
打赏
举报
回复
schedule 是表示保证上一次任务结束和下一次的启动时间间隔固定
scheduleAtFixRate才是保证上一次任务启动和下一次的启动时间间隔固定,如果超过了会马上执行的
马行空牛耕田
2004-10-26
打赏
举报
回复
thanks for all!
继续讨论: timer的线程安全问题
如果我的task执行时间超过的delay的时间,会出现什么情况? 会不会前一个task还没有结束,后一个task又接着继续,我不希望这样,可否使用同步来解决?
马行空牛耕田
2004-10-26
打赏
举报
回复
OK,我成功了!
1、我认为是我的<load-on-startup> 和前面的一个servlet配置的一样,都是1,重复了,导致该servlet没有自动加载;
2、timer.schedule(yourTask, 0, 5000); 正确,而timer.schedule(yourTask,5000); 不正确。前者是重复一个时间断后执行,而后者只是定位到5秒后执行,不重复!
zlhlj2000
2004-10-26
打赏
举报
回复
<servlet>
<servlet-name>Timer</servlet-name>
<servlet-class>yourpckage.timerServlet<servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
public void init() throws ServletException {
super.init();
timerTask yourTask= new timerTask();
Timer timer = new Timer();
timer.schedule(yourTask, 0, 5000);
}
public static class timerTask extends TimerTask {// your task
}
Tasia
2004-10-26
打赏
举报
回复
服务器启动和启动后一直运行
写一个servlet,该servlet什么访问都不接受,并且是服务器启动加载的。
在servlet的init方法中启动线程,该线程负责定期执行。
服务器提前加载的配置为:
<servlet>
<servlet-name>deleteMessage</servlet-name>
<servlet-class>servlet.DeleteMessagerFileThread </servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
其中load-on-startup配置的数字为启动顺序,其它的跟普通servlet相同
package system;
public class DeleteMessagerFileThread extends Thread {
public DeleteMessagerFileThread() {
}
public void run() {
try {
do {
//do something
System.out.println("开始删除过期短消息及期附件....");
UserMessage.autoDeleteMessagerAndAccessary();
//sleep(60 * 1000);这儿写的是2小时
sleep(2 * 60 * 60 * 1000);
} while (true);
} catch (Exception e) {
}
}
}
dlxu
2004-10-26
打赏
举报
回复
用Thread.sleep(10000),然后重新执行一次Servlet就是
sailingaway
2004-10-25
打赏
举报
回复
ChDw(米)
能不能说详细些,最好有个样例,我是低手这样看不太直观,不要嫌弃我,帮忙解释详细些
马行空牛耕田
2004-10-25
打赏
举报
回复
up一下!
ChDw
2004-10-25
打赏
举报
回复
你在web.xml中对该servlet加上load-on-startup
然后在init方法中使用java.util.Timer来实现定时任务
马行空牛耕田
2004-10-25
打赏
举报
回复
呵呵,不用关注了,在google上一查一大把的解决方案,唉,浪费88分。
不过大家可以把自己知道的方案发上来啊,分照给,说不定还能入选精华贴呢,^_^
边城狂人
2004-10-25
打赏
举报
回复
GZ
java
定时
执行
servlet
_[Java教程]【JAVA】
servlet
定时
启动
[Java教程]【JAVA】
servlet
定时
启动0 2014-07-15 12:00:18步骤一:web.10这句话是重点。 AutoPay
Servlet
autoE2E.AutoPay
Servlet
10 AutoPay
Servlet
/AutoPay
Servlet
步骤二:
servlet
的核心代码:public static ...
servlet
上加
定时
任务
1、
servlet
启动后
自动
会
运行
将此段代码放入建立的
servlet
里面(dopost,doget) public void destroy() { super.destroy(); } public void init() throws
Servlet
Exception { System.out.println("...
Servlet
运行
原理及常见API
介绍
Servlet
的
运行
原理以及
Servlet
中常用的API, 利用这些API现一些代码案例.
监听器——项目
运行
后
定时
自动
运行
任务
实现方法:先在web.xml中添加一个...由于是
定时
任务,需要再创建一个类继承TimerTask,并在重写方法run中,写入要执行的任务。具体示例如下:web.xml(可根据自己的项目及习惯更改路径和类名) <listener&...
若依框架
定时
任务
配置
自动
注入注解不生效报java.lang.NullPointerException
定时
任务很简单,方便好用。结果一
运行
,lwColumninfoService空指针异常。@Autowired注解拿不到ILwColumninfoService对象。原来
定时
任务优先于
自动
...若依框架
定时
任务
配置
自动
注入注解不生效。系统监控>>
定时
任务。
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章