(文章本人原创,若转载请注明出处)
在实际当中的情况是系统数据库中需要上传大量照片到数据库中,数据量比较大,且不能在界面中通过操作逐个上传,要批量自动进行。其实起来也比较简单直接利用线程池将照片数据读取成流再存入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 阅读(296)
评论(0) 编辑 收藏