使用连接池工具是proxool。
本来连接是好好的,今天往web.xml里加了个监听器配置:
- <listener>
- <description>各类启动信息的加载</description>
- <listener-class>cn.tofishes.servlet.listener.ResourceManagerListener</listener-class>
- </listener>
- 信息: Starting Servlet Engine: Apache Tomcat/6.0.18
- java.sql.SQLException: No suitable driver found for proxool.shide
- at java.sql.DriverManager.getConnection(DriverManager.java:602)
- at java.sql.DriverManager.getConnection(DriverManager.java:207)
暂时还不知道怎么解决,上百度搜索,没合适的答案。先写下来,找出解决方法再说。
30分钟后... ...
OK了,晓得是什么原因了,就是我在监听器中使用了读取数据库的操作,去掉数据库操作这段代码就好了。
连接池配置是这样的:
- <!-- 数据库连接池配置 -->
- <servlet>
- <servlet-name>proxoolInitialServlet</servlet-name>
- <servlet-class>
- org.logicalcobwebs.proxool.configuration.ServletConfigurator
- </servlet-class>
- <init-param>
- <param-name>xmlFile</param-name>
- <param-value>WEB-INF/proxool.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
这个servlet和listener冲突了,根本原因是怎样的呢?造成proxool找不到MySQL驱动,难道问题在于servlet和listener的加载时间先后?是listener先加载,所以引用不到连接池吗?那么出现的异常太让人摸不到头脑了。
先探索到这吧。像我一样把数据库操作写进应用程序监听器的人应该不多吧。