posts - 0,  comments - 6,  trackbacks - 0

          4. 清除資源

          在將文件項封裝成FileItem 對象時,如果文件尺寸大于臨界值,將會被寫入臨時文件。 當這些臨時
          文件不再被使用時會被自動刪除(更確切地說, 
          java.io.File的實例會被垃圾收集器收集)。  這項工作
          由一個叫做收割機的后臺線程來完成,該線程由
          org.apache.commons.io.FileCleaner類啟動。 為了確保這個
          后臺線程在它不再被需要時需要被停止,在 
          servlet 環境里,我們通過一個名叫 FileCleanerCleanup 的 s
          ervlet 
          上下文監聽器,在web應用關閉時調用
          FileCleaningTracker.exitWhenFinished()來終止收割機
          。要讓FileCleanerCleanup監聽器工作,你需要在 web.xml 增加如下代碼:

          <web-app> 

            ... 

            <listener> 

              <listener-class> 

                org.apache.commons.fileupload.servlet.FileCleanerCleanup 

              </listener-class> 

            </listener> 

            ... 

          </web-app>

          FileCleanerCleanup 通過一個靜態方法getFileCleaningTracker()提供一個
          org.apache.commons.io.FileCleaningTracker 對象。構造DiskFileItemFactory后,需要設置一個 
          FileCleaningTracker 對象,用于追蹤產生的臨時文件。如果不想追蹤臨時文件,設置 
          FileCleaningTracker 為null。

          FileCleaningTracker fileCleaningTracker = FileCleanerCleanup.getFileCleaningTracker(servletcontext);

          DiskFileItemFactory factory = new DiskFileItemFactory();

          factory.setFileCleaningTracker(fileCleaningTracker);

          事情到這里還沒完。如果你和下面的情況一樣,那么你就只需要按照上面的做,就可以清除資源了: 

          如果你使用的是 commons-io 1.3 或者更晚的版本。 

          你是從web 應用的 web-inf/lib里載入 commons-io 的,而不是從其它位置,如Tomcat common/lib 
          下載入 commons-io 的。 

          如果 commons-io是通過WEB 容器的 classpath載入的,那么,下面的情況可能會出現:

          如果Tomcat中運行著兩個應用,一個叫A,一個叫 B。這兩個應用都使用了 FileCleanerCleanup 監聽器。
          現在,如果你關閉應用
          A,而還在運行,這時,會終止 的收割機線程。換言之,你要十分仔細地考
          慮是使用 
          FileCleanerCleanup,還是不使用。

          鄭州蜂鳥科技有限公司 申林 QQ:38185398  鄭州軟件開發興趣小組群:38236716

          學軟件開發,到蜂鳥科技!超強的師資力量 、完善的課程體系 、超低的培訓價格 、真實的企業項目。

          地址:鄭州市文化路豐產路口東50米豐產路21號SOHO世紀城西塔20樓F
          電話:0371-63839606  手機:13838505572(申老師) 13673990036 (許老師)
          QQ: 1073422643  1群:47614738 2群:108157678 
          網址:www.ntcsoft.com

          posted on 2010-09-03 23:56 whistler 閱讀(2595) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          留言簿(2)

          我參與的團隊

          文章檔案(22)

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 仁怀市| 隆子县| 河池市| 龙口市| 江阴市| 南岸区| 怀化市| 开阳县| 肃北| 滨州市| 灵寿县| 乌鲁木齐市| 钟山县| 屯昌县| 岑溪市| 县级市| 阿拉善左旗| 项城市| 公主岭市| 宁夏| 蓬莱市| 奉贤区| 陵水| 加查县| 林口县| 安康市| 肥东县| 贵阳市| 曲周县| 武义县| 台北县| 闻喜县| 延庆县| 铁岭市| 青浦区| 邮箱| 家居| 抚宁县| 雷州市| 兴国县| 靖宇县|