2017-05-04 15 views
2

データソース接続を設定しようとしています。私が実際に受けるエラーはjava.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)ZServlet.service()のサーブレット[...]がパス[/ ...]のコンテキストでスロー例外[サーブレットの実行で例外がスローされました]

ですが、タイトルのエラーはすぐ上にポップアップします。

-

私は

Context ctx = new InitialContext(); 
DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/caffeDB"); 
Connection con = dataSource.getConnection(); 

設定このデータソースでcaffeJdbc.javaサーブレットを持っている - これは、サーブレットマッピングおよびリソースの参照を持つプロジェクトのweb.xmlの設定、ある

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
<servlet> 
    <servlet-name>tjdbc</servlet-name> 
    <servlet-class>caffeJdbc</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>tjdbc</servlet-name> 
    <url-pattern>/caffeJdbc</url-pattern> 
</servlet-mapping> 

<resource-ref> 
    <res-ref-name>jdbc/caffeDB</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

-

のserver.xml

<GlobalNamingResources> 
<Resource name="jdbc/caffeDB" 
global="jdbc/caffeDB" 
url="jdbc:mysql://localhost:3306/caffe"/> 
</GlobalNamingResources> 

-

そして、これは私が両方のJDBCドライバと中コモンズ-dbcp2-2.1.1 1をロード

<Context path="/JDBCDataSource"> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <ResourceLink global="jdbc/caffeDB" 
     name="jdbc/caffeDB" 
     type="javax.sql.DataSource"> 
    </ResourceLink> 
</Context> 

のcontext.xmlでありますlibディレクトリとパス

+1

JDBCドライバが古くなっている可能性があります。これを見て、http://stackoverflow.com/questions/32783706/java-lang-abstractmethoderror-com-mysql-jdbc-connection-isvalidiz –

+0

私はそれがリリースされた最後のものだと思ったが、あなたが私に言ったので、それは2007年のものだった.. これを返信すると、私はそれをupvoteすることができます:) – pedro

答えて

1

使用しているJDBCドライバが古くなっている可能性があります。確認してください。hereが表示されます。

関連する問題