我正在尝试更新网络应用以使用DBCP。本地运行良好(Windows安装时典型的Tomcat)。但是,在DEV服务器(EC2 LINUX AMI; Tomcat即服务)上,我得到以下内容
Could not create resource factory instance [Root exception is java.lang.ClassNotFoundException: org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory]
我已将此缩小(我认为)到最初没有/lib
的{{1}}文件夹。
我已添加此jar,并使用以下内容重新启动Tomcat实例...
tomcat-jdbc.ja
但是,我仍然得到相同的ClassNotFoundException。如何让Tomcat服务识别sudo service tomcat7 restart
?
编辑 - 这是运行tomcat-dbcp.jar
sudo service tomcat7 start
答案 0 :(得分:4)
如果其他人有这个问题,我就是这样解决的。
在我的context.xml文件中,我必须具有标记
的以下属性factory="org.apache.commons.dbcp.BasicDataSourceFactory"
...所以我的最终标签看起来像......
<Resource name="jdbc/resourceName"
auth="Container"
type="javax.sql.DataSource"
logAbandoned="false"
maxActive="100"
maxIdle="30"
maxWait="10000"
username= "username"
password="password"
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
url="jdbc:mysql://your.mysql.host"/>
基本上,我只是强迫它恢复使用Tomcat的DBCP类。