A final note on this thread.  I'm wondering about the purpose of having both
a web.xml in 
DBTest/WEB-INF and a context.xml in DBTest/META-INF.  First of all, which
does tomcat look at first ?
If I had to guess I'd say it probably loads the web.xml first because of
this:

  <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>

Then it looks for the definitions for the things referenced above  in
META-INF/context.xml, ie:

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

So I was under the impression that META-INF was more normally  used to place
.jars or .wars,
but I guess in this case it's ok for contexts too ?

And maybe I'm getting too much into the minuteia of this at the moment, but
what does the
'auth' attribute for ? Usually auth is short for authorization, or maybe
authority.
'auth=Container' doesn't make any sense to me. 
Thanks again for all the helpful replies.


cuco2772 wrote:
> 
> Just a follow up.  I copied the 2nd <Context to META-INF/context.xml and
> it worked !
> It's kind of funny because I was saying to myself "There is 0% chance this
> is going to work"  to prepare
> myself for the usual failures and multitudes of tries it's taken to get
> things to work up to now.
> I guess I was surprised that things worked after only the third or 4th
> try. Thanks David !
> 
> 
> David Smith-2 wrote:
>> 
>> Yes -- your on the right path now.  Your email seems to have crossed 
>> with mine.  Take the <Context  > element for DBTest out of 
>> conf/context.xml and put it in one of these two places -- 
>> conf/Catalina/localhost/DBTest.xml or
>> webapps/DBTest/META-INF/context.xml):
>> 
>> All it needs to contain is:
>> 
>>  <Context>
>>   <Resource name="jdbc/TestDB" auth="Container"
>>                     type="javax.sql.DataSource"
>>                     maxActive="100" maxIdle="30" maxWait="10000"
>>                     username="javauser" password="javadude"
>>                     driverClassName="com.mysql.jdbc.Driver"
>>                     
>> url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
>> </Context>
>> 
>> --David
>> 
>> cuco2772 wrote:
>>> I'm starting to think that putting that <Context in the main
>>> conf/context.xml
>>> is not the way to go.
>>> It makes my other test webapp 'cucoweb' break. Should I put this
>>> <Context in
>>> a context.xml within
>>> DBTest, ie, in the DBTest directory, or some subdirectory of it ? 
>>> Should I
>>> rename it to DBTest.xml ?
>>>  
>>>
>>>
>>> cuco2772 wrote:
>>>   
>>>> This context.xml is the one in /conf. From what I understand (and
>>>> according to the apache site) this
>>>> is where you put stuff that you want to be loaded by all webapps.
>>>> The /META-INF/context.xml would be for things that are more application
>>>> specific.(I'm making an educated guess here).  Here is what my
>>>> /conf/context.xml looks like:
>>>>
>>>> <!-- The contents of this file will be loaded for each web application
>>>> -->
>>>> <Context>
>>>>
>>>>     <!-- Default set of monitored resources -->
>>>>     <WatchedResource>WEB-INF/web.xml</WatchedResource>
>>>>
>>>>     <!-- Uncomment this to disable session persistence across Tomcat
>>>> restarts -->
>>>>     <!--
>>>>     <Manager pathname="" />
>>>>     -->
>>>>
>>>>     <!-- Uncomment this to enable Comet connection tacking (provides
>>>> events
>>>>          on session expiration as well as webapp lifecycle) -->
>>>>     <!--
>>>>     <Valve
>>>> className="org.apache.catalina.valves.CometConnectionManagerValve" />
>>>>     -->
>>>>
>>>> </Context>
>>>>
>>>> <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="javadude"
>>>> driverClassName="com.mysql.jdbc.Driver"
>>>>               
>>>> url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/>
>>>>
>>>> </Context>
>>>>
>>>> I added the second <Context element  and all the stuff within. 
>>>> Originally
>>>> it was just the first <Context
>>>> element, and the stuff there.
>>>>
>>>> Should I have put that second <Context element in /META-IINF instead ?
>>>>
>>>>
>>>> cuco2772 wrote:
>>>>     
>>>>> I set up the test app and the database as per the instructions
>>>>> provided
>>>>> on that link you gave me which
>>>>> I will reproduce here :
>>>>>
>>>>> http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
>>>>>
>>>>> I put everything within the <Context ... element (under heading
>>>>> 2.Context
>>>>> Configuration) into 
>>>>> a separate <Context element in conf/context.xml.  (Underneath the
>>>>> first
>>>>> one)
>>>>>
>>>>> Inside webapps I created a directory called DBTest for the webapp.
>>>>> Inside
>>>>> that I created a WEB-INF
>>>>> subdirectory, and put a web.xml with the contents of everything under 
>>>>> heading 3. web.xml configuration.  I added a subdirectory /lib to
>>>>> WEB-INF
>>>>> into which I copied
>>>>> both jstl.jar and standard.jar. (As per the directions under heading
>>>>> 4.
>>>>> Test Code) 
>>>>> I copied test.jsp to the DBTest directory and when I tried to 
>>>>> access the url ttp:localhost:8080/DBTest/test.jsp,  I got the all too
>>>>> familiar '404, Resource not found' error.
>>>>>
>>>>> I can't of anything I did wrong, at least as far as the directions on
>>>>> that site go.
>>>>> Is there any thing additional that needs to go into web.xml that I am
>>>>> leaving out ?
>>>>>
>>>>> A quick peek at catalina.out showed this :
>>>>>
>>>>>   [EMAIL PROTECTED]:/usr/local/tomcat/apache-tomcat-6.0.14/logs# tail -n 
>>>>> 100
>>>>> catalina.out
>>>>> Jan 14, 2008 5:26:24 PM org.apache.catalina.core.StandardContext start
>>>>> SEVERE: Error getConfigured
>>>>> Jan 14, 2008 5:26:24 PM org.apache.catalina.core.StandardContext start
>>>>> SEVERE: Context [/docs] startup failed due to previous errors
>>>>> Jan 14, 2008 5:26:24 PM org.apache.tomcat.util.digester.Digester
>>>>> fatalError
>>>>> SEVERE: Parse Fatal Error at line 20 column 2: The markup in the
>>>>> document
>>>>> following the root element must be well-formed.
>>>>>
>>>>> So it seems to be complaining about my context.xml. The offending line
>>>>> looks to be :
>>>>>
>>>>>  <Context path="/DBTest" docBase="DBTest"
>>>>>         debug="5" reloadable="true" crossContext="true">
>>>>>
>>>>> Could the path attribute be incorrect ? I followed the directions
>>>>> exactly. 
>>>>>
>>>>>
>>>>> David Smith-2 wrote:
>>>>>       
>>>>>> Find the mysql-connector-java-5.0.8.jar file in the download you 
>>>>>> received from mysql.com.  Put only that file in tomcat's lib
>>>>>> directory.  
>>>>>> Remove the rest from tomcat's lib directory and things should be good
>>>>>> to 
>>>>>> go.  If the mysql .jar file is located anywhere else in your tomcat 
>>>>>> installation including any of your webapps, please remove it from all 
>>>>>> those other places.  It can be either in tomcat's lib directory OR
>>>>>> your 
>>>>>> webapp's WEB-INF/lib directory -- never both.
>>>>>>
>>>>>> --David
>>>>>>
>>>>>> cuco2772 wrote:
>>>>>>         
>>>>>>> Where is the jdbc driver normally located ? I did a 'locate jdbc'
>>>>>>> and
>>>>>>> found
>>>>>>> it in a bunch of places, ie, 
>>>>>>> /usr/lib/jvm/java-6-sun-1.6.0.00/imq/demo/jdbc/config.properties.mysql
>>>>>>>
>>>>>>> Would it be in this directory in tomcat ?:
>>>>>>>
>>>>>>> [EMAIL 
>>>>>>> PROTECTED]:/usr/local/tomcat/apache-tomcat-6.0.14/lib/mysql-connector-java-5.0.8
>>>>>>>  
>>>>>>>
>>>>>>> (I also have the mysql-connector-java-5.0.8-bin.jar file copied to
>>>>>>> /lib, but
>>>>>>> not in
>>>>>>> mysql-connector-java-5.0.8.
>>>>>>>
>>>>>>>
>>>>>>> Caldarale, Charles R wrote:
>>>>>>>   
>>>>>>>           
>>>>>>>>> From: cuco2772 [mailto:[EMAIL PROTECTED] 
>>>>>>>>> Subject: Re: how to configure (server.xml) for mysql dev with 
>>>>>>>>> tomcat/JDBC
>>>>>>>>>
>>>>>>>>> I gathered from that doc that you would put a <Context> 
>>>>>>>>> element directly in conf/context.xml, and not in
>>>>>>>>> server.xml, as previously. 
>>>>>>>>>       
>>>>>>>>>               
>>>>>>>> No.  The <Context> element in conf/context.xml is for attributes
>>>>>>>> that
>>>>>>>> are common to all webapps deployed in Tomcat.  An individual
>>>>>>>> webapp's
>>>>>>>> <Context> element should be in the webapp's META-INF/context.xml
>>>>>>>> file.
>>>>>>>>
>>>>>>>>  - Chuck
>>>>>>>>
>>>>>>>>
>>>>>>>> THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE
>>>>>>>> PROPRIETARY
>>>>>>>> MATERIAL and is thus for use only by the intended recipient. If you
>>>>>>>> received this in error, please contact the sender and delete the
>>>>>>>> e-mail
>>>>>>>> and its attachments from all computers.
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To start a new topic, e-mail: [email protected]
>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>     
>>>>>>>>             
>>>>>>>   
>>>>>>>           
>>>>>> ---------------------------------------------------------------------
>>>>>> To start a new topic, e-mail: [email protected]
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>>
>>>>>>         
>>>>>       
>>>>     
>>>
>>>   
>> 
>> 
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: [email protected]
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/how-to-configure-%28server.xml%29-for-mysql-dev-with-tomcat-JDBC-tp14793219p14855490.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to