mysqlデータベースに接続すると、WebアプリケーションがMysqlDataDatasourceを取得しようとしています。私のアプリケーションはApache Tomcat 8.5 Webサーバーでホストされています。ここでTomcat BasicDataSourceからMysqlDatasourceを取得しようとするとClassCastExceptionが発生する
java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp2.BasicDataSource
cannot be cast to com.mysql.jdbc.jdbc2.optional.MysqlDataSource
はキャストが失敗している行です:
MysqlDatasource mysql_datasource =
(MysqlDataSource) context.lookup("java:/comp/env/jdbc/MySQLDataSource");
これは私のcontext.xmlである私は私のをcontext.lookupからキャストしようとすると、それはこのClassCastExceptionがスローしかし
構成:
<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);
乾杯 - 。以前を削除しましたすぐに解決された問題についてコメントしてください。百万こんにちは!トム –