facebook

Database connection pool

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #289656 Reply

    karman6311
    Participant

    Hi, I am experiencing a database connection pool issue, I can use generic method to access MySQL via JDBC, when I switch to Database connection pool code, I got erroe “Cannot load JDBC driver class ‘com.mysql.jdbc.Driver'”, I do not configue path and classpath, I think Myeclipse has done that, how can I solve this problem?

    Need help, thx,

    yibing

    #289680 Reply

    Loyal Water
    Member

    Can you go to MyEclipse > Installation Summary > Installation Details and paste the information here for me.

    Can you paste the entire error message here for me.

    Can you paste you code here for me as well.

    #289698 Reply

    karman6311
    Participant

    I list error message when I click “Submit” to store form data.

    INFO: Find registry server-registry.xml at classpath resource
    Oct 5, 2008 12:41:27 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 2750 ms
    org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    at data.ConnectionPool.getConnection(ConnectionPool.java:38)
    at data.UserDB.emailExists(UserDB.java:99)
    at email.AddToEmailListServlet.doGet(AddToEmailListServlet.java:30)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
    … 20 more
    Oct 5, 2008 12:41:51 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet AddToEmailListServlet threw exception
    java.lang.NullPointerException
    at data.ConnectionPool.freeConnection(ConnectionPool.java:51)
    at data.UserDB.emailExists(UserDB.java:121)
    at email.AddToEmailListServlet.doGet(AddToEmailListServlet.java:30)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)

    my web.xml
    <?xml version=”1.0″ encoding=”UTF-8″?>
    <web-app version=”2.5″ xmlns=”http://java.sun.com/xml/ns/javaee&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”&gt;

    <resource-ref>
    <description>DBCP Connection</description>
    <res-ref-name>jdbc/testDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

    <servlet>
    <servlet-name>AddToEmailListServlet</servlet-name>
    <servlet-class>email.AddToEmailListServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>AddToEmailListServlet</servlet-name>
    <url-pattern>/addToEmailList</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <welcome-file-list>
    <welcome-file>join_email_list.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    my context.xml

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <Context path=”/Email”>

    <!– maxActive: Maximum number of dB connections in pool. Make sure you
    configure your mysqld max_connections large enough to handle
    all of your db connections. Set to 0 for no limit.
    –>
    <!– maxIdle: Maximum number of idle dB connections to retain in pool.
    Set to -1 for no limit. See also the DBCP documentation on this
    and the minEvictableIdleTimeMillis configuration parameter.
    –>
    <!– maxWait: Maximum time to wait for a dB connection to become available
    in ms, in this example 10 seconds. An Exception is thrown if
    this timeout is exceeded. Set to -1 to wait indefinitely.
    –>
    <!– username and password: MySQL dB username and password for dB connections –>
    <!– driverClassName: Class name for the old mm.mysql JDBC driver is
    org.gjt.mm.mysql.Driver – we recommend using Connector/J though.
    Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
    –>
    <!– url: The JDBC connection url for connecting to your MySQL dB.
    The autoReconnect=true argument to the url makes sure that the
    mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
    connection. mysqld by default closes idle connections after 8 hours.
    –>
    <!– logAbandoned, removeAbandoned, removeAbandonedTimeout: Control whether
    the container will prevent connection pool leaks by automatically removing
    Connection, Statement, ResultSet, etc. objects that haven’t been closed
    –>

    <Resource name=”jdbc/testDB” auth=”Container” type=”javax.sql.DataSource”
    maxActive=”100″ maxIdle=”30″ maxWait=”10000″
    username=”root” password=”” driverClassName=”com.mysql.jdbc.Driver”
    url=”jdbc:mysql://localhost:3306/test?autoReconnect=true”
    logAbandoned=”true” removeAbandoned=”true” removeAbandonedTimeout=”60″ />

    </Context>

    #289721 Reply

    Loyal Water
    Member

    Are you working with MyEclipse Tomcat?

    You need to make sure the JDBC driver is in the Tomcat /lib dir before firing it up OR it is deployed with the project.

Viewing 4 posts - 1 through 4 (of 4 total)
Reply To: Database connection pool

You must be logged in to post in the forum log in