(文章本人原創,若轉載請注明出處)
在實際當中的情況是系統數據庫中需要上傳大量照片到數據庫中,數據量比較大,且不能在界面中通過操作逐個上傳,要批量自動進行。其實起來也比較簡單直接利用線程池將照片數據讀取成流再存入BLOB字段即可。但是在實現后些功能后又進入了一些改造,實現了線程池、單線程、是否使用用連接池、不同數據庫等不同的配置,這樣在不同配置下可以觀察到程序性能的不同。并且經過設計切換這些配置不需要修改程序。

使用DbAccess接口的getConnect()取得數據庫連接,DbImp和DbPoolingImp實現了不使用連接池和使用連接池的兩個版本。Sender接口的commitData()用來把BLOB數據寫到數據庫中,因為不同數據庫可能寫法有點不同所以這里SenderMySqlImp和SenderOracleImp分別是Mysql和Oracle的實現。Process接口的doProcess()是開始進行處理的方法,無論是單線程還是多線程。因此ProcessMulti和ProcessSingle是分別使用線程池以及單線程處理的類。ConfigMgr用于取得config.properties文件內配置信息,Logger是日志類,Helper中匯集了一些共用的靜態方法。最后DataSender是主程序的類:)
posted on 2009-03-21 10:25
依然Fantasy 閱讀(306)
評論(0) 編輯 收藏