tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Richards <mjr...@yahoo.com>
Subject Re: JNDI Datasource Problem
Date Mon, 20 Feb 2006 21:38:11 GMT
I see that you have your resource defined under the
context for your jsp.  I know you're suppose to be
able to do this, but I haven't had much luck with it
personally.

Try this just for kicks:

1.  Move the TestDB resource to the
<GlobalNamingResources> section of server.xml
2.  If there is a "context".xml file under
conf\Catalina\localhost, then modify it to include a
pointer to your resource like so:
  
<ResourceLink name="jdbc/TestDB"
type="javax.sql.DataSource"  
   global="jdbc/TestDB"/>

if no context file exists, create one (if you're in
root, there should be a root.xml file there already).

3.  Leave the web.xml file as you have it already.

As I said, you're not suppose to have to do this, but
I had the same problem that you're having now before I
made this change.

Have you verified that the db connection works at all
with the url that you're using?

-marc



--- Mark Whitby <ug82msw@cs.bham.ac.uk> wrote:

> Yeah I know, I was using the wrong guide.  I'm using
> Tomcat 5.5.15.  However I'm now using the right
> guide and still have the same problem.  I'm getting
> the following error:
> 
> javax.servlet.ServletException: Unable to get
> connection, DataSource invalid:
> "org.apache.tomcat.dbcp.dbcp.SQLNestedException:
> Cannot create JDBC driver of class '' for connect
> URL 'null'"
> 
> 
> org.apache.jasper.JasperException: Exception in JSP:
> /dbtest.jsp:4
> 
> 1: <%@ taglib uri="http://java.sun.com/jsp/jstl/sql"
> prefix="sql" %>
> 2: <%@ taglib
> uri="http://java.sun.com/jsp/jstl/core" prefix="c"
> %>
> 3: 
> 4: <sql:query var="rs" dataSource="jdbc/TestDB">
> 5: select id, foo, bar from testdata
> 6: </sql:query>
> 7: 
> 
>
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
> 
> The only thing I haven't done is the .war file thing
> at the end, just created the .jsp file straight in
> the ROOT directory to test it.
> 
> Any thoughts why I get this error?
> 
> Mark
> 
> Attached below are my server.xml file and web.xml
> file
> 
> Web.xml
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> 
> <!DOCTYPE web-app PUBLIC 
> "-//Sun Microsystems, Inc.//DTD Web Application
> 2.2//EN"
> "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
> 
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>    
>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>    
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>     version="2.4">
> 
> 
> 
> <!--
> Specifies the first page that users will come to in
> the system
> -->
>   <welcome-file-list>
>     <welcome-file>/index.jsp</welcome-file>
>   </welcome-file-list>
> 
> <!--
> Specifies the error page that will occur for 404
> errors
> -->
> 
>   <error-page>
>     <error-code>404</error-code>
>     <location>/error.jsp</location>
>   </error-page>
> 
> <!--
> Database connection test
> -->
> 
>   <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>
> 
> 
> 
> 
> <!--
> Specifies the security area within the system
> -->
> 
>     <security-constraint>
>         <web-resource-collection>
>             <web-resource-name>Secure
> Area</web-resource-name>
>             <url-pattern>/secure/*</url-pattern>
>             <http-method>GET</http-method>
>             <http-method>POST</http-method>
>         </web-resource-collection>
>         <user-data-constraint>
>            
>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
>         </user-data-constraint>
>     </security-constraint>
> 
> 
> </web-app>
> 
> Server.xml
> 
> <!-- Example Server Configuration File -->
> <!-- Note that component elements are nested
> corresponding to their
>      parent-child relationships with each other -->
> 
> <!-- A "Server" is a singleton element that
> represents the entire JVM,
>      which may contain one or more "Service"
> instances.  The Server
>      listens for a shutdown command on the indicated
> port.
> 
>      Note:  A "Server" is not itself a "Container",
> so you may not
>      define subcomponents such as "Valves" or
> "Loggers" at this level.
>  -->
> 
> <Server port="8005" shutdown="SHUTDOWN">
> 
>   <!-- Comment these entries out to disable JMX
> MBeans support used for the 
>        administration web application -->
>   <Listener
>
className="org.apache.catalina.core.AprLifecycleListener"
> />
>   <Listener
>
className="org.apache.catalina.mbeans.ServerLifecycleListener"
> />
>   <Listener
>
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
> />
>   <Listener
>
className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
> 
>   <!-- Global JNDI resources -->
>   <GlobalNamingResources>
> 
>     <!-- Test entry for demonstration purposes -->
>     <Environment name="simpleValue"
> type="java.lang.Integer" value="30"/>
> 
>     <!-- Editable user database that can also be
> used by
>          UserDatabaseRealm to authenticate users -->
>     <Resource name="UserDatabase" auth="Container"
>              
> type="org.apache.catalina.UserDatabase"
>        description="User database that can be
> updated and saved"
>           
>
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
>           pathname="conf/tomcat-users.xml" />
> 
>   </GlobalNamingResources>
> 
>   <!-- A "Service" is a collection of one or more
> "Connectors" that share
>        a single "Container" (and therefore the web
> applications visible
>        within that Container).  Normally, that
> Container is an "Engine",
>        but this is not required.
> 
>        Note:  A "Service" is not itself a
> "Container", so you may not
>        define subcomponents such as "Valves" or
> "Loggers" at this level.
>    -->
> 
>   <!-- Define the Tomcat Stand-Alone Service -->
>   <Service name="Catalina">
> 
>     <!-- A "Connector" represents an endpoint by
> which requests are received
>          and responses are returned.  Each Connector
> passes requests on to the
>          associated "Container" (normally an Engine)
> for processing.
> 
>          By default, a non-SSL HTTP/1.1 Connector is
> established on port 8080.
>          You can also enable an SSL HTTP/1.1
> Connector on port 8443 by
>          following the instructions below and
> uncommenting the second Connector
>          entry.  SSL support requires the following
> steps (see the SSL Config
>          HOWTO in the Tomcat 5 documentation bundle
> for more detailed
>          instructions):
>          * If your JDK version 1.3 or prior,
> download and install JSSE 1.0.2 or
>            later, and put the JAR files into
> "$JAVA_HOME/jre/lib/ext".
>          * Execute:
>              %JAVA_HOME%\bin\keytool -genkey -alias
> tomcat -keyalg RSA (Windows)
>              $JAVA_HOME/bin/keytool -genkey -alias
> tomcat -keyalg RSA  (Unix)
>            with a password value of "changeit" for
> both the certificate and
>            the keystore itself.
> 
>          By default, DNS lookups are enabled when a
> web application calls
>          request.getRemoteHost().  This can have an
> adverse impact on
>          performance, so you can disable it by
> setting the
>          "enableLookups" attribute to "false".  When
> DNS lookups are disabled,
>          request.getRemoteHost() will return the
> String version of the
>          IP address of the remote client.
>     -->
> 
>     <!-- Define a non-SSL HTTP/1.1 Connector on port
> 8080 -->
>     <Connector
> port="8080"               maxHttpHeaderSize="8192"
>                maxThreads="150" minSpareThreads="25"
> maxSpareThreads="75"
>                enableLookups="false"
> redirectPort="8443" acceptCount="100"
>                connectionTimeout="20000"
> disableUploadTimeout="true" />
>     <!-- Note : To disable connection timeouts, set
> connectionTimeout value
>      to 0 -->
>  
>  <!-- Note : To use gzip compression you could set
> the following properties :
>  
>       compression="on" 
>       compressionMinSize="2048" 
>       noCompressionUserAgents="gozilla, traviata" 
>       compressableMimeType="text/html,text/xml"
>  -->
> 
>     <!-- Define a SSL HTTP/1.1 Connector on port
> 8443 -->
> 
>       <Connector port="8443" scheme="https"
> secure="true" minSpareThreads="25"
> connectionTimeout="60000"   clientAuth="false"
> keystorePass="?MtHw7!" connectionLinger="-1"
> serverSoTimeout="0"  
> keystoreFile="D:\FYPCode\keystore"
> maxSpareThreads="75" maxThreads="150"
> tcpNoDelay="true"   maxHttpHeaderSize="8192"
> sslProtocol="TLS" />
> 
> 
>     <!-- Define an AJP 1.3 Connector on port 8009
> -->
>     <Connector port="8009" 
>                enableLookups="false"
> redirectPort="8443" protocol="AJP/1.3" />
> 
>     <!-- Define a Proxied HTTP/1.1 Connector on port
> 8082 -->
>     <!-- See proxy documentation for more
> information about using this. -->
>     <!--
>     <Connector port="8082" 
>                maxThreads="150" minSpareThreads="25"
> maxSpareThreads="75"
>                enableLookups="false"
> acceptCount="100" connectionTimeout="20000"
>                proxyPort="80"
> disableUploadTimeout="true" />
>     -->
> 
>     <!-- An Engine represents the entry point
> (within Catalina) that processes
>          every request.  The Engine implementation
> for Tomcat stand alone
>          analyzes the HTTP headers included with the
> request, and passes them
>          on to the appropriate Host (virtual host).
> -->
> 
>     <!-- You should set jvmRoute to support
> load-balancing via AJP ie :
>     <Engine name="Standalone"
> defaultHost="localhost" jvmRoute="jvm1">         
>     --> 
>          
>     <!-- Define the top level container in our
> container hierarchy -->
>     <Engine name="Catalina" defaultHost="localhost">
> 
>       <!-- The request dumper valve dumps useful
> debugging information about
>            the request headers and cookies that were
> received, and the response
>            headers and cookies that were sent, for
> all requests received by
>            this instance of Tomcat.  If you care
> only about requests to a
>            particular virtual host, or a particular
> application, nest this
>            element inside the corresponding <Host>
> or <Context> entry instead.
> 
>            For a similar mechanism that is portable
> to all Servlet 2.4
>            containers, check out the
> "RequestDumperFilter" Filter in the
>            example application (the source for this
> filter may be found in
>           
>
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
> 
>            Request dumping is disabled by default. 
> Uncomment the following
>            element to enable it. -->
>       <!--
>       <Valve
>
className="org.apache.catalina.valves.RequestDumperValve"/>
>       -->
> 
>       <!-- Because this Realm is here, an instance
> will be shared globally -->
> 
>       <!-- This Realm uses the UserDatabase
> configured in the global JNDI
>            resources under the key "UserDatabase". 
> Any edits
>            that are performed against this
> UserDatabase are immediately
>            available for use by the Realm.  -->
>       <Realm
>
className="org.apache.catalina.realm.UserDatabaseRealm"
>              resourceName="UserDatabase"/>
> 
>       <!-- Comment out the old realm but leave here
> for now in case we
>            need to go back quickly -->
>       <!--
>       <Realm
> className="org.apache.catalina.realm.MemoryRealm" />
>       -->
> 
>       <!-- Replace the above Realm with one of the
> following to get a Realm
>            stored in a database and accessed via
> JDBC -->
> 
>       <!--
>       <Realm 
> className="org.apache.catalina.realm.JDBCRealm"
>              driverName="org.gjt.mm.mysql.Driver"
>          
> connectionURL="jdbc:mysql://localhost/authority"
>          connectionName="test"
> connectionPassword="test"
>               userTable="users"
> userNameCol="user_name" userCredCol="user_pass"
>           userRoleTable="user_roles"
> roleNameCol="role_name" />
>       -->
> 
>       <!--
>       <Realm 
> className="org.apache.catalina.realm.JDBCRealm"
>             
> driverName="oracle.jdbc.driver.OracleDriver"
>          
> connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
>          connectionName="scott"
> connectionPassword="tiger"
>               userTable="users"
> userNameCol="user_name" userCredCol="user_pass"
>           userRoleTable="user_roles"
> roleNameCol="role_name" />
>       -->
> 
>       <!--
>       <Realm 
> className="org.apache.catalina.realm.JDBCRealm"
>             
> driverName="sun.jdbc.odbc.JdbcOdbcDriver"
>           connectionURL="jdbc:odbc:CATALINA"
>               userTable="users"
> userNameCol="user_name" userCredCol="user_pass"
>           userRoleTable="user_roles"
> roleNameCol="role_name" />
>       -->
> 
>       <!-- Define the default virtual host
>            Note: XML Schema validation will not work
> with Xerces 2.2.
>        -->
>       <Host name="localhost" appBase="webapps"
>        unpackWARs="true" autoDeploy="true"
>        xmlValidation="false"
> xmlNamespaceAware="false">
> 
>         <!-- Defines a cluster for this node,
>              By defining this element, means that
> every manager will be changed.
>              So when running a cluster, only make
> sure that you have webapps in there
>              that need to be clustered and remove
> the other ones.
>              A cluster has the following parameters:
> 
>              className = the fully qualified name of
> the cluster class
> 
>              name = a descriptive name for your
> cluster, can be anything
> 
>              mcastAddr = the multicast address, has
> to be the same for all the nodes
> 
>              mcastPort = the multicast port, has to
> be the same for all the nodes
>              
>              mcastBindAddr = bind the multicast
> socket to a specific address
>              
>              mcastTTL = the multicast TTL if you
> want to limit your broadcast
>              
>              mcastSoTimeout = the multicast
> readtimeout 
> 
>              mcastFrequency = the number of
> milliseconds in between sending a "I'm alive"
> heartbeat
> 
>              mcastDropTime = the number a
> milliseconds before a node is considered "dead" if
> no heartbeat is received
> 
>              tcpThreadCount = the number of threads
> to handle incoming replication requests, optimal
> would be the same amount of threads as nodes 
> 
>              tcpListenAddress = the listen address
> (bind address) for TCP cluster request on this host,
> 
>                                 in case of multiple
> ethernet cards.
>                                 auto means that
> address becomes
>                                
> InetAddress.getLocalHost().getHostAddress()
> 
>              tcpListenPort = the tcp listen port
> 
>              tcpSelectorTimeout = the timeout (ms)
> for the Selector.select() method in case the OS
>                                   has a wakup bug in
> java.nio. Set to 0 for no timeout
> 
>              printToScreen = true means that
> managers will also print to std.out
> 
>              expireSessionsOnShutdown = true means
> that 
> 
>              useDirtyFlag = true means that we only
> replicate a session after
> setAttribute,removeAttribute has been called.
>                             false means to replicate
> the session after each request.
>                             false means that
> replication would work for the following piece of
> code: (only for SimpleTcpReplicationManager)
>                             <%
>                             HashMap map =
> (HashMap)session.getAttribute("map");
>                             map.put("key","value");
>                             %>
>              replicationMode = can be either
> 'pooled', 'synchronous' or 'asynchronous'.
>                                * Pooled means that
> the replication happens using several sockets in a
> synchronous way. Ie, the data gets replicated, then
> the request return. This is the same as the
> 'synchronous' setting except it uses a pool of
> sockets, hence it is multithreaded. This is the
> fastest and safest configuration. To use this, also
> increase the nr of tcp threads that you have dealing
> with replication.
>                                * Synchronous means
> that the thread that executes the request, is also
> the
>                                thread the replicates
> the data to the other nodes, and will not return
> until all
>                                nodes have received
> the information.
>                                * Asynchronous means
> that there is a specific 'sender' thread for each
> cluster node,
>                                so the request thread
> will queue the replication request into a "smart"
> queue,
>                                and then return to
> the client.
>                                The "smart" queue is
> a queue where when a session is added to the queue,
> and the same session
>                                already exists in the
> queue from a previous request, that session will be
> replaced
>                                in the queue instead
> of replicating two requests. This almost never
> happens, unless there is a 
>                                large network delay.
>         -->             
>         <!--
>             When configuring for clustering, you
> also add in a valve to catch all the requests
>             coming in, at the end of the request,
> the session may or may not be replicated.
>             A session is replicated if and only if
> all the conditions are met:
>             1. useDirtyFlag is true or setAttribute
> or removeAttribute has been called AND
>             2. a session exists (has been created)
>             3. the request is not trapped by the
> "filter" attribute
> 
>             The filter attribute is to filter out
> requests that could not modify the session,
>             hence we don't replicate the session
> after the end of this request.
>             The filter is negative, ie, anything you
> put in the filter, you mean to filter out,
>             ie, no replication will be done on
> requests that match one of the filters.
>             The filter attribute is delimited by ;,
> so you can't escape out ; even if you wanted to.
> 
>             filter=".*\.gif;.*\.js;" means that we
> will not replicate the session after requests with
> the URI
>             ending with .gif and .js are
> intercepted.
>             
>             The deployer element can be used to
> deploy apps cluster wide.
>             Currently the deployment only
> deploys/undeploys to working members in the cluster
>             so no WARs are copied upons startup of a
> broken node.
>             The deployer watches a directory
> (watchDir) for WAR files when watchEnabled="true"
>             When a new war file is added the war
> gets deployed to the local instance,
>             and then deployed to the other instances
> in the cluster.
>             When a war file is deleted from the
> watchDir the war is undeployed locally 
>             and cluster wide
>         -->
>         
>         <!--
>         <Cluster
>
className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
>                 
>
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
>                  expireSessionsOnShutdown="false"
>                  useDirtyFlag="true"
>                 
> notifyListenersOnReplication="true">
> 
>             <Membership 
>                
>
className="org.apache.catalina.cluster.mcast.McastService"
>                 mcastAddr="228.0.0.4"
>                 mcastPort="45564"
>                 mcastFrequency="500"
>                 mcastDropTime="3000"/>
> 
>             <Receiver 
>                
>
className="org.apache.catalina.cluster.tcp.ReplicationListener"
>                 tcpListenAddress="auto"
>                 tcpListenPort="4001"
>                 tcpSelectorTimeout="100"
>                 tcpThreadCount="6"/>
> 
>             <Sender
>                
>
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
>                 replicationMode="pooled"
>                 ackTimeout="15000"/>
> 
>             <Valve
>
className="org.apache.catalina.cluster.tcp.ReplicationValve"
>                   
>
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
>                    
>             <Deployer
>
className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
>                       tempDir="/tmp/war-temp/"
>                       deployDir="/tmp/war-deploy/"
>                       watchDir="/tmp/war-listen/"
>                       watchEnabled="false"/>
>         </Cluster>
>         -->        
> 
> 
> 
>         <!-- Normally, users must authenticate
> themselves to each web app
>              individually.  Uncomment the following
> entry if you would like
>              a user to be authenticated the first
> time they encounter a
>              resource protected by a security
> constraint, and then have that
>              user identity maintained across *all*
> web applications contained
>              in this virtual host. -->
>         <!--
>         <Valve
>
className="org.apache.catalina.authenticator.SingleSignOn"
> />
>         -->
> 
>         <!-- Access log processes all requests for
> this virtual host.  By
>              default, log files are created in the
> "logs" directory relative to
>              $CATALINA_HOME.  If you wish, you can
> specify a different
>              directory with the "directory"
> attribute.  Specify either a relative
>              (to $CATALINA_HOME) or absolute path to
> the desired directory.
>         -->
>         <!--
>         <Valve
>
className="org.apache.catalina.valves.AccessLogValve"
>                  directory="logs" 
> prefix="localhost_access_log." suffix=".txt"
>                  pattern="common"
> resolveHosts="false"/>
>         -->
> 
>         <!-- Access log processes all requests for
> this virtual host.  By
>              default, log files are created in the
> "logs" directory relative to
>              $CATALINA_HOME.  If you wish, you can
> specify a different
>              directory with the "directory"
> attribute.  Specify either a relative
>              (to $CATALINA_HOME) or absolute path to
> the desired directory.
>              This access log implementation is
> optimized for maximum performance,
>              but is hardcoded to support only the
> "common" and "combined" patterns.
>         -->
>         <!--
>         <Valve
>
className="org.apache.catalina.valves.FastCommonAccessLogValve"
>                  directory="logs" 
> prefix="localhost_access_log." suffix=".txt"
>                  pattern="common"
> resolveHosts="false"/>
>         -->
> 
> <Context path="/DBTest" docBase="DBTest"
>         debug="5" reloadable="true"
> crossContext="true">
> 
>     <!-- 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.
>          -->
> 
>   <Resource name="jdbc/TestDB" auth="Container"
> type="javax.sql.DataSource"
>                maxActive="100" maxIdle="30"
> maxWait="10000"
>                username="javauser" password="pilks2"
> driverClassName="com.mysql.jdbc.Driver"
>               
>
url="jdbc:mysql://localhost:3306/fyptest?autoReconnect=true"/>
> 
> </Context>
> 
> 
> 
>       </Host>
> 
>     </Engine>
> 
>   </Service>
> 
> </Server>
> 
> ----- Original Message ----- 
> From: "Marc Richards" <mjrx20@yahoo.com>
> To: "Tomcat Users List" <users@tomcat.apache.org>
> Sent: Monday, February 20, 2006 8:55 PM
> Subject: Re: JNDI Datasource Problem
> 
> 
> >I didn't see any mention of the Tomcat version
> here,
> > but in 5.5 the <ResourceParams> part of the config
> is
> > no longer used.  All paramters go in the <Resource
> > ...> tag with name="value" format just like name
> and
> > auth from your example below.  i.e. maxIdle="30".
> > 
> > -marc
> > 
> > --- Mark Whitby <ug82msw@cs.bham.ac.uk> wrote:
> > 
> >> Hey guys,
> >> 
> >> Thanks for the help with the previous problem I
> had,
> >> I've managed to solve them now thanks to your
> help. 
> >> But now I'm having a problem with setting up a
> >> DataSource connection.  I've followed the example
> >> word for word and got the following error:
> >> 
> >> javax.servlet.ServletException: Unable to get
> >> connection, DataSource invalid:
> >> "org.apache.tomcat.dbcp.dbcp.SQLNestedException:
> >> Cannot create JDBC driver of class '' for connect
> >> URL 'null'"
> >> 
> >> I did a google search for this but only managed
> to
> >> find something on the NetBeans website which
> wasn't
> >> much help.  I've edited the server.xml file as
> >> stated, placed the relevent jar file
> >> (mysql-connector-java-3.1.12-bin.jar) in the lib
> >> folder in my web application and in the
> /common/lib
> >> folder in the Tomcat home folder and I've reset
> the
> >> server and I'm still getting the same problem.
> >> 
> >> I'm using MySQL, database is called 'fyptest' and
> >> the table is called 'testdata'.  So where am I
> going
> >> wrong?
> >> 
> >> Many thanks
> >> 
> >> Mark Whitby
> >> 
> >> Server.xml file:
> >> 
> >> <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>
> >> 
> >>     <!-- 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.
> >>          -->
> >>     <parameter>
> >>       <name>maxActive</name>
> >>       <value>100</value>
> >>     </parameter>
> >> 
> >>     <!-- 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.
> >>          -->
> >>     <parameter>
> >>       <name>maxIdle</name>
> >>       <value>30</value>
> >>     </parameter>
> >> 
> >>     <!-- 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.
> >>          -->
> >>     <parameter>
> >>       <name>maxWait</name>
> >>       <value>10000</value>
> >>     </parameter>
> >> 
> >>     <!-- MySQL dB username and password for dB
> >> connections  -->
> >>     <parameter>
> >>      <name>username</name>
> >>      <value>javauser</value>
> >>     </parameter>
> >>     <parameter>
> >>      <name>password</name>
> >>      <value>pilks2</value>
> >>     </parameter>
> >> 
> >>     <!-- Class name for the old mm.mysql JDBC
> driver
> >> - uncomment this entry and comment next
> >>          if you want to use this driver - we
> >> recommend using Connector/J though
> >>     <parameter>
> >>        <name>driverClassName</name>
> >>        <value>org.gjt.mm.mysql.Driver</value>
> >>     </parameter>
> >>      -->
> >>     
> >>     <!-- Class name for the official MySQL
> >> Connector/J driver -->
> >>     <parameter>
> >>        <name>driverClassName</name>
> >>        <value>com.mysql.jdbc.Driver</value>
> >>     </parameter>
> >>     
> >>     <!-- 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.
> >>          -->
> >>     <parameter>
> >>       <name>url</name>
> >>      
> >>
> >
>
<value>jdbc:mysql://localhost:3306/fyptest?autoReconnect=true</value>
> >>     </parameter>
> >>   </ResourceParams>
> >> </Context>
> >> 
> >> web.xml file:
> >> 
> >>   <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>
> >> 
> > 
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around 
> > http://mail.yahoo.com 
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail:
> users-help@tomcat.apache.org
> >


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message