外部数据库驱动加载问题

月嗜江流 2013-10-24 03:12:31
因为项目需要,在系统中,可能由系统管理员新建新的数据库连接(数据库不一定),所有新建的数据库驱动jar文件,会在系统外部。只能用URLClassLoaser进行加载。目前,直接进行外部加载连接的时候,已经没有问题,关键是,如果是数据量查询量大,pstmt.executeQuery()这个方法,会进行假死状态。当前,无法对数据库进行优化,考虑问题是,放弃原始Connection的方法,而采用连接池的模式。但是,目前发现C3P0之类的连接池,都是加载本地的数据库驱动jar文件。无法加载外部。求解决办法。
...全文
250 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
月嗜江流 2013-10-28
  • 打赏
  • 举报
回复
这个是不行的,因为,系统本身,就是连接数据库的项目,数据库并没有定义类型,本身无法判断是哪一类数据库,所以只能通过URLClassloaser进行加载jar包,主流数据库驱动jar,已经放入系统内部。但是考虑到那些非主流数据库的使用。
teemai 2013-10-28
  • 打赏
  • 举报
回复
引用 2 楼 kissek08 的回复:
是啊,这个问题,我想到了。主要考虑的是连接池的多线程加载,比如,这个线程进入假死状态,可以分配新的连接给用户。但是,我目前发现的问题有几个,第一个,就是,如果用户频繁选这个,假死的数据信息进行查询,可能会导致连接池异常。第二个,就是,看了C3p0,DBCP,这几个连接池,貌似都没有发现他们有可以加载外部jar文件的实例
为什么要加载外包的jar,拷贝进去不就完了?
月嗜江流 2013-10-28
  • 打赏
  • 举报
回复
是啊,这个问题,我想到了。主要考虑的是连接池的多线程加载,比如,这个线程进入假死状态,可以分配新的连接给用户。但是,我目前发现的问题有几个,第一个,就是,如果用户频繁选这个,假死的数据信息进行查询,可能会导致连接池异常。第二个,就是,看了C3p0,DBCP,这几个连接池,貌似都没有发现他们有可以加载外部jar文件的实例
orcher 2013-10-28
  • 打赏
  • 举报
回复
键是,如果是数据量查询量大,pstmt.executeQuery()这个方法,会进行假死状态 ----用连接池解决不了这个问题的

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧