henry1451 的專欄
BlogJava
首頁
新隨筆
新文章
聯系
聚合
管理
posts - 60,comments - 71,trackbacks - 0
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(6)
給我留言
查看公開留言
查看私人留言
我參與的團隊
架構師之家(0/0)
隨筆檔案
2009年9月 (1)
2009年6月 (1)
2009年5月 (2)
2009年4月 (3)
2009年3月 (2)
2009年1月 (1)
2008年12月 (3)
2008年11月 (2)
2008年10月 (3)
2008年9月 (7)
2008年8月 (9)
2008年7月 (23)
2008年6月 (1)
2008年5月 (2)
文章分類
Hibernate技術(5)
Java技術(15)
Jsp,Js,Ajax,Html技術(8)
Linux技術(2)
Oracle技術(9)
Spring技術
Struts,Webwork,Xwork技術(3)
其他相關(1)
開源技術(7)
文章檔案
2008年6月 (27)
2008年5月 (27)
2008年4月 (3)
博客集錦
hk2000c技術專欄
即興的靈感
和風細雨
小方的Java博客
小飛龍
急死我了
每日一得
資源與技術網站
BlogJava熱點分類
BlogJava隨筆
JavaEye
J道
Matrix
Open-open
SourceForge
搜索
最新評論
1.?re: 關于關閉Connection是否會自動關閉Statement,ResultSet問題
謝了, 很受用!
--碼農C
2.?re: ClientAbortException 異常解決辦法
換瀏覽器后可以了
--換瀏覽器后可以了
3.?re: eclipse 下環境變量設置[未登錄]
請問 MAVEN_REPO在哪定義的?
--a
4.?re: 圖形統計工具amCharts體驗
無語
--EE
5.?re: ClientAbortException 異常解決辦法
。。。。。。。
--q
閱讀排行榜
1.?ClientAbortException 異常解決辦法(14203)
2.?Eclipse下安裝TomcatPlugin插件(8432)
3.?圖形統計工具amCharts體驗(6264)
4.?PL/pgSQL - SQL過程語言(轉)(5584)
5.?如何修改存儲過程(4486)
評論排行榜
1.?取得單選按鈕中顯示的內容(9)
2.?ClientAbortException 異常解決辦法(7)
3.?圖形統計工具amCharts體驗(4)
4.?10.1快樂!(4)
5.?重復提交、重復刷新、防止后退的問題以及處理方式(轉)(4)
利用ServletContextListener實現定時任務(l轉)
一個WEB應用程序下的定時任務,覺得寫的比較全,所以轉了一下.
一個實現ServletContextListener接口的類: StatisticsContextListener.java
package
com.ed.cnc.servletListener;
import
javax.servlet.ServletContextEvent;
import
javax.servlet.ServletContextListener;
import
com.ed.cnc.city.StatisticsTask;
/** */
/**
* 統計ContextListener
*
@author
westd
*
*/
/** */
/**
*
@author
westd
*
*/
public
class
StatisticsContextListener
implements
ServletContextListener
{
private
java.util.Timer timer
=
null
;
/** */
/**
* 這個方法在Web應用服務做好接受請求的時候被調用。
*
*
@see
javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
*/
public
void
contextInitialized(ServletContextEvent event)
{
timer
=
new
java.util.Timer(
true
);
event.getServletContext().log(
"
定時器已啟動
"
);
timer.schedule(
new
StatisticsTask(event.getServletContext()),
0
,
60
*
60
*
1000
);
//
每隔1小時
event.getServletContext().log(
"
已經添加任務調度表
"
);
}
/** */
/**
* 這個方法在Web應用服務被移除,沒有能力再接受請求的時候被調用。
*
*
@see
javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
*/
public
void
contextDestroyed(ServletContextEvent event)
{
timer.cancel();
event.getServletContext().log(
"
定時器銷毀
"
);
}
}
一個繼承于TimerTask的一個類:StatisticsTask.java
package
com.ed.cnc.city;
import
java.util.Calendar;
import
java.util.TimerTask;
import
javax.servlet.ServletContext;
/** */
/**
* 統計任務
*
@author
westd
*
*/
public
class
StatisticsTask
extends
TimerTask
{
private
static
final
int
STATISTICS_SCHEDULE_HOUR
=
0
;
private
static
boolean
isRunning
=
false
;
private
ServletContext context
=
null
;
public
StatisticsTask(ServletContext context)
{
this
.context
=
context;
}
@Override
public
void
run()
{
Calendar cal
=
Calendar.getInstance();
//
System.out.println(isRunning);
if
(
!
isRunning)
{
if
(STATISTICS_SCHEDULE_HOUR
==
cal.get(Calendar.HOUR_OF_DAY))
//
查看是否為凌晨
{
isRunning
=
true
;
context.log(
"
開始執行指定任務
"
);
//
TODO 添加自定義的詳細任務
executeTask();
//
指定任務執行結束
isRunning
=
false
;
context.log(
"
指定任務執行結束
"
);
}
}
else
{
context.log(
"
上一次任務執行還未結束
"
);
}
}
/** */
/**
* 執行任務
*/
public
void
executeTask()
{
System.out.println(
"
任務1
"
);
System.out.println(
"
任務2
"
);
}
}
web.xml中添加如下代碼:
<
listener
>
<
listener-class
>
com.ed.cnc.servletListener.StatisticsContextListener
</
listener-class
>
</
listener
>
posted on 2008-07-25 15:48
henry1451
閱讀(433)
評論(1)
編輯
收藏
FeedBack:
#
re: 利用ServletContextListener實現定時任務(l轉)
2009-01-07 15:06 |
汽車工業濾紙
uijhy
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Copyright ©2025 henry1451 Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
嘉荫县
|
金山区
|
巴彦淖尔市
|
桦甸市
|
昌宁县
|
北宁市
|
得荣县
|
格尔木市
|
宣城市
|
阳谷县
|
平安县
|
巧家县
|
建湖县
|
汕尾市
|
青阳县
|
平罗县
|
岳阳市
|
喀喇沁旗
|
玛多县
|
凌源市
|
永昌县
|
光泽县
|
德昌县
|
滦南县
|
梅河口市
|
普定县
|
察雅县
|
酉阳
|
唐海县
|
太仓市
|
孝感市
|
阳西县
|
韶山市
|
广东省
|
清水县
|
兰州市
|
江口县
|
黄浦区
|
休宁县
|
台南县
|
庆城县
|