我的Java路上那些事兒
快樂成長
posts - 110, comments - 101, trackbacks - 0, articles - 7
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
服務器監控狗 log4j FileWatchdog 臨控環境變化 方便多了
Posted on 2012-02-17 14:03
云云
閱讀(3553)
評論(0)
編輯
收藏
用java
寫服務
程序
時經常會涉及到監控某些配置
文件
,當配置文件發生變化時實時重新加載該文件的內容到內存.
實際上log4j里有現成的類FileWatchdog做了類似的工作.我們只需繼承它,然后重寫它的一些方法就可以了.
/** */
/**
使用log4j的監控狗
*/
public
class
IPAccessFileWatchdog
extends
FileWatchdog
{
public
IPAccessFileWatchdog(String filename)
{
super
(filename);
}
public
void
doOnChange()
{
List
<
String
>
list
=
IPAccessController.
this
.loadIPRule(
new
File(
this
.filename));
if
(list
!=
null
)
{
IPAccessController.
this
.ipRule
=
list.toArray(
new
String[list.size()]);
}
else
{
IPAccessController.
this
.ipRule
=
null
;
}
LogLog.warn(
"
ip access config load completed from file:
"
+
filename);
}
}
}
FileWatchdog的代碼也很簡單,其實就是起一個線程,每隔固定的時間掃描一次監控的文件.我把代碼也貼出來:
'
//
Contributors: Mathias Bogaert
package
org.apache.log4j.helpers;
import
java.io.File;
import
org.apache.log4j.helpers.LogLog;
public
abstract
class
FileWatchdog
extends
Thread
{
static
final
public
long
DEFAULT_DELAY
=
60000
;
protected
String filename;
protected
long
delay
=
DEFAULT_DELAY;
File file;
long
lastModif
=
0
;
boolean
warnedAlready
=
false
;
boolean
interrupted
=
false
;
protected
FileWatchdog(String filename)
{
this
.filename
=
filename;
file
=
new
File(filename);
setDaemon(
true
);
checkAndConfigure();
}
public
void
setDelay(
long
delay)
{
this
.delay
=
delay;
}
abstract
protected
void
doOnChange();
protected
void
checkAndConfigure()
{
boolean
fileExists;
try
{
fileExists
=
file.exists();
}
catch
(SecurityException e)
{
LogLog.warn(
"
Was not allowed to read check file existance, file:[
"
+
filename
+
"
].
"
);
interrupted
=
true
;
//
there is no point in continuing
return
;
}
if
(fileExists)
{
long
l
=
file.lastModified();
//
this can also throw a SecurityException
if
(l
>
lastModif)
{
//
however, if we reached this point this
lastModif
=
l;
//
is very unlikely.
doOnChange();
warnedAlready
=
false
;
}
}
else
{
if
(
!
warnedAlready)
{
LogLog.debug(
"
[
"
+
filename
+
"
] does not exist.
"
);
warnedAlready
=
true
;
}
}
}
public
void
run()
{
while
(
!
interrupted)
{
try
{
Thread.sleep(delay);
}
catch
(InterruptedException e)
{
//
no interruption expected
}
checkAndConfigure();
}
}
}
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © 云云
日歷
<
2012年2月
>
日
一
二
三
四
五
六
29
30
31
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
1
2
3
4
5
6
7
8
9
10
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(9)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2015年7月 (1)
2014年9月 (3)
2014年1月 (3)
2013年12月 (1)
2013年11月 (4)
2013年10月 (2)
2013年7月 (2)
2013年6月 (3)
2013年4月 (2)
2013年1月 (2)
2012年12月 (4)
2012年11月 (3)
2012年10月 (3)
2012年9月 (2)
2012年8月 (1)
2012年7月 (9)
2012年6月 (2)
2012年5月 (6)
2012年4月 (7)
2012年3月 (2)
2012年2月 (1)
2012年1月 (1)
2011年12月 (2)
2011年11月 (16)
2011年10月 (7)
2011年8月 (1)
2011年6月 (2)
2011年5月 (5)
2011年4月 (9)
2011年3月 (10)
搜索
最新評論
1.?re: CAP原理與最終一致性 強一致性 透析
學習。
--NewSea
2.?re: 一致性哈希算法與Java實現
有一個問題,如果使用虛擬節點,某臺機器每次宕機再恢復后都需要遷移數據。這樣是否反而更麻煩了。
--三單聯咖啡色
3.?re: java static塊和static 方法 的使用區別
sss
--zhangsan
4.?re: struts2 jsp頁面使用s:if 標簽
你是基佬 哦耶耶
--基佬
5.?re: android開發過程中 R文件消失 clean 和 build project都無效 已解決
評論內容較長,點擊標題查看
--llll
閱讀排行榜
1.?linux 新建用戶、用戶組 以及為新用戶分配權限(127887)
2.?Oracle內連接、外連接、右外連接、全外連接小總結(93205)
3.?zookeeper 集群安裝(單點與分布式成功安裝)摘錄(79153)
4.?android開發過程中 R文件消失 clean 和 build project都無效 已解決(76972)
5.?一致性哈希算法與Java實現 (48855)
評論排行榜
1.?Oracle內連接、外連接、右外連接、全外連接小總結(12)
2.?zookeeper 集群安裝(單點與分布式成功安裝)摘錄(11)
3.?android開發過程中 R文件消失 clean 和 build project都無效 已解決(6)
4.?struts2 jsp表單提交后保留表單中輸入框中的值 下拉框select與input(6)
5.?jquery 自動過濾表單輸入框前后空格(5)
主站蜘蛛池模板:
亚洲网站在线观看
|
无码日韩人妻AV一区免费l
|
24小时日本在线www免费的
|
久久精品亚洲日本波多野结衣
|
久久亚洲中文字幕精品一区
|
无码av免费网站
|
丰满亚洲大尺度无码无码专线
|
久久久久亚洲AV片无码下载蜜桃
|
91免费精品国自产拍在线不卡
|
男女猛烈无遮掩视频免费软件
|
亚洲国产精品一区二区久久
|
日本免费中文字幕在线看
|
久久福利青草精品资源站免费
|
亚洲一区二区三区成人网站
|
国产综合精品久久亚洲
|
黄页网站免费在线观看
|
一出一进一爽一粗一大视频免费的
|
亚洲精品午夜视频
|
亚洲性久久久影院
|
啦啦啦高清视频在线观看免费
|
九九免费观看全部免费视频
|
亚洲欧洲日本精品
|
国产亚洲精品精华液
|
好爽好紧好大的免费视频国产
|
一级毛片免费观看不卡的
|
四虎精品免费永久免费视频
|
香蕉大伊亚洲人在线观看
|
国产精品亚洲片在线
|
全部免费国产潢色一级
|
国产免费丝袜调教视频
|
你好老叔电影观看免费
|
美女被免费网站在线视频免费
|
亚洲香蕉在线观看
|
久久夜色精品国产噜噜噜亚洲AV
|
亚洲国产精品一区二区第四页
|
天天天欲色欲色WWW免费
|
亚洲免费黄色网址
|
四虎影视在线影院在线观看免费视频
|
一级A毛片免费观看久久精品
|
97在线视频免费播放
|
中文字幕a∨在线乱码免费看
|