**:
最近用spring
的quartz
定時器的時候,發現到時間後,任務總是重複執行兩次,在
tomcat
或jboss
下都如此。
列印出他們的
hashcode
,發現是不一樣的,也就是說,在
web容器啟動的時候,重複啟了兩個
quartz
執行緒。研究下來發現
quartz
確實會載入兩次:
第一次:
web容器啟動的時候,讀取
檔案時,會載入一次。
第二次:
spring
本身會載入
一次。而我的
quartz
配置就是寫在
檔案裡的。
解決辦法很簡單
先把quartz
配置資訊提取出來,單獨存成乙個檔案,比如
然後修改
web.xml
,讓web
容器啟動時,可以載入該檔案
這樣quartz
只會在web
容器啟動時載入一次,
spring
不會再載入了。
web.xml
配置如下:
contextconfiglocation
org.springframework.web.context.contextloaderlistener
把定時器的配置單獨寫成乙個配置檔案,在
web容器啟動的時候只載入一次
Spring定時器在同一時間重複執行兩次
解決方案如下 最近用spring 的quartz 定時器的時候,發現到時間後,任務總是重複執行兩次,在 tomcat 或jboss 下都如此。列印出他們的 hashcode 發現是不一樣的,也就是說,在 web容器啟動的時候,重複啟了兩個 quartz 執行緒。研究下來發現 quartz 確實會載入...
列印最新同一時間的日誌資訊
有如下的日誌 var log message.log,要求把最新時間的日誌列印出來。1 2 3 4 5 6 7 8 9 10 time,entity,severity,node,desc 00 00 01 04 25 2016,node,info,0,img control link is up 0...
讓php程式同一時間最多只有乙個工作
某些命令列程式執行的時候,為了避免多程序互相干擾,需要讓它同一時間只能有乙個例項在執行。下面是我的方法 lockfile file running function lock function unlock lock register shutdown function unlock do some...