The <Resource> tag in your context config changes and the
<ResourceParams> tag is removed as in ....

 <Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="javauser"
password="javadude"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true" />

In a side note, if you update your mysql driver, the new class name is
com.mysql.jdbc.Driver and you should remove ?autoReconnect=true from the
database url.

--David

Wayne Bragg wrote:
> What version of tomcat are you using?  What follows is based on using
>>> version 5.0.x.  The syntax for configuring JDBC resources in 5.5 is a
>>> little different.
>
> Of  course I am using 5.5. Thats' what I get for not providing that to
> start with. So what you gave me below needs to be modified HOW?
> Because I am now getting -
>
>
> ----- Original Message ----- From: "Wayne Bragg" <[EMAIL PROTECTED]>
> To: "Tomcat Users List" <users@tomcat.apache.org>
> Sent: Monday, March 05, 2007 11:46 AM
> Subject: Re: install DBCP and mm.mysql 2.0.14 (JDBC Driver) and test
> app, get class compile error.
>
>
>> David, you can ignore the question about how to compile .java into
>> .class. I just found out the jdk can do that.
>>
>>
>> Wayne
>>
>> ----- Original Message ----- From: "David Smith" <[EMAIL PROTECTED]>
>> To: "Tomcat Users List" <users@tomcat.apache.org>
>> Sent: Monday, March 05, 2007 7:06 AM
>> Subject: Re: install DBCP and mm.mysql 2.0.14 (JDBC Driver) and test
>> app, get class compile error.
>>
>>
>>> A few things to consider ...
>>>
>>> 1) What version of tomcat are you using?  What follows is based on
>>> using
>>> version 5.0.x.  The syntax for configuring JDBC resources in 5.5 is a
>>> little different.
>>>
>>> 2)  mm.mysql 2.0.14 is VERY old.  What version of MySQL Db server are
>>> you using?  You may want to take a look at the MySQL website for an
>>> updated driver .jar file.  I believe the current driver version is
>>> Connector/J 5.0.5
>>>
>>> 3) The mm.mysql driver file has to be in common/lib.  That's because
>>> the
>>> tomcat server itself has to be able to access the driver when
>>> setting up
>>> the db pool before your webapp even loads.
>>>
>>> 4) If using the tomcat internal database pooling, there is no need for
>>> adding commons-dbcp.jar or commons-pool.jar as tomcat has a slightly
>>> refactored version of commons-dbcp already.  The refactoring was only a
>>> package name change to avoid collisions with webapps that use
>>> commons-dbcp directly.  Only add those jars if you have some code of
>>> your own using classes in the packages org.apache.commons.dbcp or
>>> org.apache.commons.pool.
>>>
>>> 5) The stack trace cited below is in regards to your test jsp file.
>>> Class files need to be compiled before deployment as tomcat doesn't
>>> compile them itself -- it only compiles jsps.  To fix the error below,
>>> compile DbTest.java to DbTest.class and place it in WEB-INF/classes/foo
>>> or in a .jar archive in WEB-INF/lib.
>>>
>>> There's a start.  You might also want to review the tomcat docs
>>> regarding JNDI and JDBC resources -- how to configure, etc., ...
>>>
>>> --David
>>>
>>>
>>> Wayne Bragg wrote:
>>>
>>>> Sorry about the previous premature post.....
>>>> This is the full question/problem....
>>>>
>>>> I am trying to install DBCP and mm.mysql 2.0.14 (JDBC Driver) and a
>>>> test app to see if it works.
>>>> I'm not sure I have all the correct steps and configuration, in
>>>> other words I don't know what I am doing.. Here is what I know and
>>>> my setup for this test example that I keep getting a class compile
>>>> error on.
>>>>
>>>> You can probably tell I only have HALF a clue at best? Any ideas
>>>> what's wrong?
>>>>
>>>> This is the error reported by browser -
>>>>
>>>> type Exception report
>>>> message
>>>> description The server encountered an internal error () that
>>>> prevented it from fulfilling this request.
>>>> exception
>>>> org.apache.jasper.JasperException: Unable to compile class for JSP
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
>>>>
>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>>>>
>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>>
>>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>> root cause
>>>> org.apache.jasper.JasperException: Unable to compile class for JSP
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
>>>>
>>>> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
>>>>
>>>> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
>>>>
>>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
>>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
>>>> org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
>>>> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
>>>>
>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
>>>>
>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>>
>>>> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>>
>>>> This is the Tomcat log -
>>>>
>>>> Mar 5, 2007 12:13:30 AM
>>>> org.apache.catalina.core.StandardWrapperValve invoke
>>>> SEVERE: Servlet.service() for servlet jsp threw exception
>>>> org.apache.jasper.JasperException: Unable to compile class for JSP
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> An error occurred at line: 7 in the jsp file: /test.jsp
>>>> Generated servlet error:
>>>> foo.DBTest cannot be resolved to a type
>>>> at
>>>> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
>>>>
>>>> at
>>>> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
>>>>
>>>> at
>>>> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
>>>>
>>>> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
>>>> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
>>>> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
>>>> at
>>>> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
>>>>
>>>> at
>>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
>>>>
>>>> at
>>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>>>
>>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>>>>
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>>>
>>>> at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>>>
>>>> at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>>>>
>>>> at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>>>>
>>>> at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>>>>
>>>> at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>>>>
>>>> at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>>>>
>>>> at
>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>>>>
>>>> at
>>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>>>>
>>>> at
>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>>>>
>>>> at
>>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>>>>
>>>> at
>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>>>
>>>> at java.lang.Thread.run(Unknown Source)
>>>>
>>>> This is how I setup and config for the DBCP and mm.mysql 2.0.14
>>>> (JDBC Driver)
>>>>
>>>> Added to \www\tomcat5\common\lib
>>>>    commons-pool-1.3.jar
>>>>    commons-collections-3.2.jar
>>>>    commons-dbcp-1.2.1.jar
>>>>
>>>> Added to \www\webapps\DBTest\WEB-INF\lib
>>>>    mm.mysql-2.0.14-bin.jar
>>>>
>>>> .classpath
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <classpath>
>>>> <classpathentry kind="src" path="WEB-INF/java">
>>>>  <attributes>
>>>>  </attributes>
>>>> </classpathentry>
>>>> <classpathentry kind="lib" path="WEB-INF/lib/mm.mysql-2.0.14-bin.jar">
>>>>  <attributes>
>>>>  </attributes>
>>>> </classpathentry>
>>>> <classpathentry kind="con" path="org.gjt.mm.mysql.Driver">
>>>>  <attributes>
>>>>  </attributes>
>>>> </classpathentry>
>>>> <classpathentry kind="output" path="WEB-INF/classes"/>
>>>> </classpath>
>>>>
>>>> .project
>>>>
>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>> <projectDescription>
>>>> <name>chat-demo-war</name>
>>>> <comment></comment>
>>>> <projects>
>>>> </projects>
>>>> <buildSpec>
>>>>  <buildCommand>
>>>>   <name>org.eclipse.jdt.core.javabuilder</name>
>>>>   <arguments>
>>>>   </arguments>
>>>>  </buildCommand>
>>>> </buildSpec>
>>>> <natures>
>>>>  <nature>org.eclipse.jdt.core.javanature</nature>
>>>> </natures>
>>>> </projectDescription>
>>>>
>>>> \DBTest\WEB-INF\web.xml
>>>>
>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>>    <!DOCTYPE web-app PUBLIC
>>>>    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
>>>>    "http://java.sun.com/dtd/web-app_2_3.dtd";>
>>>> <web-app>
>>>>  <description>MySQL Test App</description>
>>>>  <resource-ref>
>>>>      <description>DB Connection</description>
>>>>      <res-ref-name>jdbc/TestDB</res-ref-name>
>>>>      <res-type>javax.sql.DataSource</res-type>
>>>>      <res-auth>Container</res-auth>
>>>>  </resource-ref>
>>>> </web-app>
>>>>
>>>> Added to server.xml
>>>>
>>>> <Context path="/DBTest" docBase="DBTest"
>>>>   debug="5" reloadable="true" crossContext="true">
>>>>  <Logger className="org.apache.catalina.logger.FileLogger"
>>>>       prefix="localhost_DBTest_log." suffix=".txt"
>>>>       timestamp="true"/>
>>>>  <Resource name="jdbc/TestDB"
>>>>       auth="Container"
>>>>       type="javax.sql.DataSource"/>
>>>>  <ResourceParams name="jdbc/TestDB">
>>>>    <parameter>
>>>>       <name>factory</name>
>>>>       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>       <name>maxActive</name>
>>>>       <value>100</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>       <name>maxIdle</name>
>>>>       <value>30</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>       <name>maxWait</name>
>>>>       <value>10000</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>       <name>username</name>
>>>>       <value>javauser</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>      <name>password</name>
>>>>      <value>javadude</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>      <name>driverClassName</name>
>>>>      <value>org.gjt.mm.mysql.Driver</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>      <name>url</name>
>>>>
>>>> <value>jdbc:mysql://localhost:3306/javatest?autoReconnect=true</value>
>>>>    </parameter>
>>>> The example I was following wasn't clear about if these next three
>>>> went here or not
>>>> <parameter>
>>>>      <name>removeAbandoned</name>
>>>>      <value>true</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>      <name>removeAbandonedTimeout</name>
>>>>      <value>60</value>
>>>>    </parameter>
>>>>    <parameter>
>>>>      <name>logAbandoned</name>
>>>>      <value>true</value>
>>>>    </parameter>
>>>> </ResourceParams>
>>>> </Context>
>>>>
>>>> The class I can't get to compile
>>>>
>>>> package foo;
>>>>
>>>> import javax.naming.*;
>>>> import javax.sql.*;
>>>> import java.sql.*;
>>>>
>>>> public class DBTest {
>>>>
>>>>  String foo = "Not Connected";
>>>>  int bar = -1;
>>>>
>>>>  public void init() {
>>>>    try{
>>>>      Context ctx = new InitialContext();
>>>>      if(ctx == null )
>>>>          throw new Exception("Boom - No Context");
>>>>
>>>>      DataSource ds =
>>>>            (DataSource)ctx.lookup(
>>>>               "java:comp/env/jdbc/TestDB");
>>>>
>>>>      if (ds != null) {
>>>>        Connection conn = ds.getConnection();
>>>>
>>>>        if(conn != null)  {
>>>>            foo = "Got Connection "+conn.toString();
>>>>            Statement stmt = conn.createStatement();
>>>>            ResultSet rst =
>>>>                stmt.executeQuery(
>>>>                  "select id, foo, bar from testdata");
>>>>            if(rst.next()) {
>>>>               foo=rst.getString(2);
>>>>               bar=rst.getInt(3);
>>>>            }
>>>>            conn.close();
>>>>        }
>>>>      }
>>>>    }catch(Exception e) {
>>>>      e.printStackTrace();
>>>>    }
>>>> }
>>>>
>>>> public String getFoo() { return foo; }
>>>> public int getBar() { return bar;}
>>>> }
>>>>
>>>> The test application
>>>>
>>>> <html>
>>>>  <head>
>>>>    <title>DB Test</title>
>>>>  </head>
>>>>  <body>
>>>>
>>>>  <%
>>>>    foo.DBTest tst = new foo.DBTest();
>>>>    tst.init();
>>>>  %>
>>>>
>>>>  <h2>Results</h2>
>>>>    Foo <%= tst.getFoo() %><br/>
>>>>    Bar <%= tst.getBar() %>
>>>>
>>>>  </body>
>>>> </html>
>>>>
>>>>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to