[英]JDBC tomcat connection pool is not working
Apache tomcat日志
2014年7月19日9:31:31 PM org.apache.catalina.core.StandardWrapperValve在路徑為[/ GroupFound]的上下文中為Servlet [FrontController]調用SEVERE:Servlet.service()引發異常java.lang.ClassCastException:org。 apache.tomcat.dbcp.dbcp.BasicDataSource無法轉換為controller.FrontController.processRequest(FrontController.java :)上models.bean.Customer.act(Customer.java:32)上的org.apache.tomcat.jdbc.pool.DataSource 40)在controller.FrontController.doGet(FrontController.java:61)在javax.servlet.http.HttpServlet.service(HttpServlet.java:621)在javax.servlet.http.HttpServlet.service(HttpServlet.java:722)在org.netbeans.modules.web.monitor.server上的org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)上的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)。 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java處的MonitorFilter.doFilter(MonitorFilter.java:393) 243)在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)在org.apache.catalina.core.StandardContextValve org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)的org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)的.invoke(StandardContextValve.java:169)。在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)處的apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve。 java:118)在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)在org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:565)在org.apache.tomcat.util.net.JIoEndpoint $ S Java上的java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886)上的ocketProcessor.run(JIoEndpoint.java:307)在Java上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908) .lang.Thread.run(Thread.java:662)
錯誤
org.apache.tomcat.dbcp.dbcp.SQLNestedException:無法在組織org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452)上為連接URL'null'創建類”的JDBC驅動程序。位於org.apache.tomcat.dbcp.dbcp.Bacp.BasicDataSource.getConnection(BasicDataSource.java:1044)處的apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)控制器處的Java:33)。控制器處的FrontController.processRequest(FrontController.java:40)(javax.servlet.http.HttpServlet.service(HttpServlet.java:621)處的Controller.FrontController.doGet(FrontController.java:61))。 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)上的servlet.http.HttpServlet.service(HttpServlet.java:722)在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 210),位於org.apache.catalina.co的org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) org.apache.catalina.core上的re.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)(org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)的org.apache.catalina.authenticator.AuthenticatorBase.invoke(StandardContextValve.java:169)在org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:168)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)在org.apache。 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)上的catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java: 999)在org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:565)在org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:307)在java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886)在java.lang.Thread.run(Thread.java:662)上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908)原因:sun.jdbc.odbc.JdbcOdbcDriver處的java.lang.NullPointerException。 Sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)上的sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)上的getProtocol(JdbcOdbcDriver.java:507)在Java.sql。 (DriverManager.java:253)位於org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)...還有26個
從META-INF文件夾更改了context.xml 。 在更改META-INF副本時,catalina-home / conf / Catalina / localhost / [項目名稱] .xml也已更改。
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/GroupFound">
<Resource auth="Container"
defaultReadOnly="false"
driverClassName="com.mysql.jdbc.jdbc2.optional"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
initialSize="0"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
jmxEnabled="true"
logAbandoned="true"
maxActive="300" maxIdle="50"
maxWait="10000"
minEvictableIdleTimeMillis="300000"
minIdle="30"
name="jdbc/testcp"
password=""
removeAbandoned="true"
removeAbandonedTimeout="60"
testOnBorrow="true"
testOnReturn="false"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="30000"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/test"
username="root"
validationInterval="30000"
validationQuery="SELECT 1"/>
</Context>
Web.xml從應用程序上下文更改(netbeans IDE)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>FrontController</servlet-name>
<servlet-class>controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FrontController</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>/jdbc/testcp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
一直試圖從幾個小時內修復它。 搜索google和類似問題均未成功。 我累死。 如何解決? 我只想看到DataSource工作。
詳細信息 JDK 6.1 netbeans 7.2 tomcat 7.0.27
這似乎是我可以找到的最佳指南:
http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
一個快速的測試是將其放在這里:
$ CATALINA_BASE / conf / context.xml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.