我正在尝试使用tomcat-dbcp.jar的7.0.30版本为tomcat-dbcp创建一个弹簧管理的独立池
但是,似乎在Tomcat文档(http://tomcat.apache.org/tomcat-7.0-doc/jdbc- pool.html#Standalone)中引用的org.apache.tomcat.jdbc.DataSource类
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <property name="factory" value="org.apache.tomcat.jdbc.pool.DataSourceFactory" /> <property name="type" value="javax.sql.DataSource" /> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/ym" /> <property name="username" value="admin" /> <property name="password" value="admin" /> <property name="initialSize" value="5" /> <property name="maxActive" value="10" /> </bean>
因此,根据Tomcat文档,此spring bean定义是正确的,但是,当我启动应用程序时,出现CNF异常:
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.tomcat.jdbc.pool.DataSource] for bean with name 'dataSource' defined in class path resource [application-context.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool.DataSource
我是不是超级愚蠢,在这里错过了明显的机会???
类org.apache.tomcat.jdbc.pool.DataSource包含在tomcat-jdbc.jar中,而不包含在tomcat- dbcp.jar中。在Tomcat的JDBC连接池是公地DBCP,其中的tomcat-DBCP仅仅是一个重命名的版本替换。
org.apache.tomcat.jdbc.pool.DataSource
jar文件tomcat-jdbc.jar不包含在所有Tomcat安装中(例如,它不包含在标准Debian / Ubuntu软件包中)。您可以从Maven Central下载它,也可以在Tomcat二进制分发归档文件中找到它。