发现造成java.sql.SQLException: No suitable driver found for proxool.test的原因

使用连接池工具是proxool。

本来连接是好好的,今天往web.xml里加了个监听器配置:

  1.     <listener>
  2.         <description>各类启动信息的加载</description>
  3.         <listener-class>cn.tofishes.servlet.listener.ResourceManagerListener</listener-class>
  4.     </listener>
结果再启动tomcat时就出现问题了:
  1. 信息: Starting Servlet Engine: Apache Tomcat/6.0.18
  2. java.sql.SQLException: No suitable driver found for proxool.shide
  3.     at java.sql.DriverManager.getConnection(DriverManager.java:602)
  4.     at java.sql.DriverManager.getConnection(DriverManager.java:207)
以前也出现过这种问题,一直不知道怎么回事,今天总算是发现源头了。

暂时还不知道怎么解决,上百度搜索,没合适的答案。先写下来,找出解决方法再说。

30分钟后... ...

OK了,晓得是什么原因了,就是我在监听器中使用了读取数据库的操作,去掉数据库操作这段代码就好了。

连接池配置是这样的:

  1.     <!-- 数据库连接池配置 -->   
  2.     <servlet>
  3.         <servlet-name>proxoolInitialServlet</servlet-name>
  4.         <servlet-class>
  5.             org.logicalcobwebs.proxool.configuration.ServletConfigurator
  6.         </servlet-class>
  7.         <init-param>
  8.             <param-name>xmlFile</param-name>
  9.             <param-value>WEB-INF/proxool.xml</param-value>
  10.         </init-param>
  11.         <load-on-startup>1</load-on-startup>
  12.     </servlet>

这个servlet和listener冲突了,根本原因是怎样的呢?造成proxool找不到MySQL驱动,难道问题在于servlet和listener的加载时间先后?是listener先加载,所以引用不到连接池吗?那么出现的异常太让人摸不到头脑了。

先探索到这吧。像我一样把数据库操作写进应用程序监听器的人应该不多吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值