當我連接到我的mysql數據庫時,我的Web應用程序試圖獲取MysqlDataDatasource。我的應用程序託管在Apache Tomcat 8.5網絡服務器上。當嘗試從Tomcat獲取MysqlDatasource時出現ClassCastException BasicDataSource
java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp2.BasicDataSource
cannot be cast to com.mysql.jdbc.jdbc2.optional.MysqlDataSource
這裏就是投失敗行:
然而,當我試圖從我的context.lookup投它拋出這個ClassCastException異常
MysqlDatasource mysql_datasource =
(MysqlDataSource) context.lookup("java:/comp/env/jdbc/MySQLDataSource");
這是我的context.xml配置:
<Resource name="jdbc/MySQLDataSource" auth="Container" type="javax.sql.DataSource"
username="root" password="password" maxTotal="100" maxIdle="30" maxWaitMillis="10000"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/pododdle"/>
這是我的web.xml配置:
<resource-ref>
<description>Pododdle DB Connection</description>
<res-ref-name>jdbc/MySQLDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
任何人都知道問題是什麼在這裏,我怎麼能得到我的手這一切都重要,最難以捉摸的com.mysql.jdbc.jdbc2.optional.MysqlDataSource?所有幫助非常感謝!
PS:以前我是主辦我的應用程序在GlassFish 4服務器上,並用下面的代碼來獲取MysqlDatasource:
Datasource datasource = (DataSource) context.lookup("jdbc/MySQLDataSource");
MysqlDataSource mysql_datasource = datasource.unwrap(MysqlDataSource.class);
乾杯4myself - 刪除了前一關於一個迅速解決的問題的評論。感謝一百萬我的好先生/女士!湯姆 –