Erik, here goes my context.xml, Tomcat renames it the same as the app's
directory. I assume your Tomcat has autodeploy enabled.

<!--By Ivan: WAR-contained Application Context-->
<!--Path defines the directory name created when war is deployed-->
<Context path="/nahrgisdev" docBase="nahrgisdev" debug="5"
reloadable="true" crossContext="true">
        <!--Development-->
        <Resource name="jdbc/orcl" auth="Container"
type="javax.sql.DataSource"/>
        
        <ResourceParams name="jdbc/orcl">
        <parameter>
           <name>factory</name>
           <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
           <name>driverClassName</name>
           <value>oracle.jdbc.driver.OracleDriver</value>
        </parameter>
        <!--By Ivan: Parameters for RAC connection load balancing-->
        <parameter>
           <name>url</name>
        
<value>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCO
L=TCP)(HOST=node1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=node2)(PORT=1
521))(CONNECT_DATA=(SERVICE_NAME=orcl)))</value>
        </parameter>
        <parameter>
           <name>username</name>
           <value>*****</value>
        </parameter>
        <parameter>
           <name>password</name>
           <value>*****</value>
        </parameter>
        <parameter>
           <name>maxActive</name>
           <value>10</value>
        </parameter>
        <parameter>
           <name>maxIdle</name>
           <value>10</value>
        </parameter>
        <parameter>
           <name>maxWait</name>
           <value>-1</value>
        </parameter>
        <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>

-----Original Message-----
From: Erik Weber [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 31, 2004 4:30 PM
To: Struts Users Mailing List
Subject: Re: Classloading problem

I have tried this repeatedly. I am using the same Foo.xml file that does

work when placed in conf/Catalina/localhost/. I have tried with and 
without the path and docBase attributes to the Context element. I have 
renamed the file to context.xml and it is in META-INF in my war file. I 
have also tried putting Foo.xml or context.xml within a 
META-INF/context.xml/ *directory* as the documentation suggests.

DBCP throws an Exception on startup that it cannot create a JDBC driver 
of class '' for connect URL 'null'. I am supposing that the context file

is never loaded. Also Tomcat creates a Foo.xml directory inside of 
conf/Catalina/localhost with nothing in it. If I try restarting the 
server, I also get a FileNotFoundException on Foo.xml, saying it "is a 
directory" (good grief). I have tried hot deploy and deploying via the 
manager web app as well.

I basically observed the same behavior that Ivan described.

I would love to see that example if you can find it.

Erik


Kris Schneider wrote:

>Hang on, my bad - it should be /META-INF/context.xml. So, rename
Foo.xml to be
>context.xml and place it in *META-INF*.
>
>Quoting Erik Weber <[EMAIL PROTECTED]>:
>
>  
>
>>Kris, this is from context.html in the Tomcat 5 docs:*
>>
>>Please note that for tomcat 5.x, unlike tomcat 4.x, it is NOT 
>>recommended to place <Context> elements directly in the server.xml 
>>file.* Instead, put them in the META-INF/context.xml directory of your

>>WAR file or the conf directory as described above.
>>
>>So here I am, stupidly trying to put my Foo.xml file within 
>>/META-INF/context.xml/ (and various variations of that) of my web app.
>>
>>So should I rename Foo.xml to context.xml (I ask because in the conf 
>>directory I have been naming it Foo.xml, not context.xml), and put it
in 
>>*WEB-INF*?
>>
>>Could you show me where you found how to do this in the docs? Am I
just 
>>completely misreading the above sentence?
>>
>>Thanks for your help,
>>Erik
>>
>>
>>Kris Schneider wrote:
>>
>>    
>>
>>>Can you provide some more detail on the problems you're running into
with
>>>      
>>>
>>using
>>    
>>
>>>WEB-INF? I've got a simple one lying around here somewhere...
>>>
>>>WEB-INF/context.xml:
>>>--------------------
>>><Context path="/init">
>>>   <Loader delegate="false"/>
>>>   <Manager pathname=""/>
>>></Context>
>>>
>>>Seems to work fine with TC 5...
>>>
>>>Quoting Erik Weber <[EMAIL PROTECTED]>:
>>>
>>> 
>>>
>>>      
>>>
>>>>Also, since you appear to be trying to follow the documenation, have
you 
>>>>ever gotten a Context XML file placed within the META-INF directory
of 
>>>>your web app to work? I can't get this to work (I have gotten them
to 
>>>>work when placed in the conf directory -- though I had to learn the
hard 
>>>>way to take write permissions away from Tomcat after it very rudely 
>>>>deleted one). The documentation is confusing, and the example web
app 
>>>>mysteriously does not include a Context XML file at all, despite
that 
>>>>pretty much any serious web app is going to need one (unless you
declare 
>>>>everything in server.xml).
>>>>
>>>>If you have an example of this working, please share it with me.
>>>>
>>>>Erik
>>>>
>>>>
>>>>Ivan Vasquez wrote:
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>>>>Sure, in common/lib it works well. But from Tomcat docs:
>>>>>http://jakarta.apache.org/tomcat/tomcat-5.0-doc/class-loader-howto.
html
>>>>>
>>>>>The following rules cover about 95% of the decisions that
application
>>>>>developers and deployers must make about where to place class and
>>>>>resource files to make them available to web applications:
>>>>>
>>>>>      * For classes and resources specific to a particular web
>>>>>application, place unpacked classes and resources under
/WEB-INF/classes
>>>>>of your web application archive, or place JAR files containing
those
>>>>>classes and resources under /WEB-INF/lib of your web application
>>>>>archive.
>>>>>      * For classes and resources that must be shared across all
web
>>>>>applications, place unpacked classes and resources under
>>>>>$CATALINA_BASE/shared/classes, or place JAR files containing those
>>>>>classes and resources under $CATALINA_BASE/shared/lib.
>>>>>
>>>>>--Then goes on...---
>>>>>
>>>>>Common - This class loader contains additional classes that are
made
>>>>>visible to both Tomcat internal classes and to all web
applications.
>>>>>Normally, application classes should NOT  be placed here. All
unpacked
>>>>>classes and resources in $CATALINA_HOME/common/classes, as well as
>>>>>classes and resources in JAR files under the
>>>>>$CATALINA_HOME/commons/endorsed and $CATALINA_HOME/common/lib
>>>>>directories, are made visible through this class loader.
>>>>>
>>>>>Shared - This class loader is the place to put classes and
resources
>>>>>that you wish to share across ALL  web applications (unless Tomcat
>>>>>internal classes also need access, in which case you should put
them in
>>>>>the Common  class loader instead). All unpacked classes and
resources in
>>>>>$CATALINA_BASE/shared/classes, as well as classes and resources in
JAR
>>>>>files under $CATALINA_BASE/shared/lib, are made visible through
this
>>>>>class loader.
>>>>>
>>>>>----
>>>>>
>>>>>In our case we want to share jars common to all applications, but
none
>>>>>of them are required by Tomcat.
>>>>>
>>>>>Ivan.
>>>>>
>>>>>-----Original Message-----
>>>>>From: Erik Weber [mailto:[EMAIL PROTECTED] 
>>>>>Sent: Tuesday, August 31, 2004 12:52 PM
>>>>>To: Struts Users Mailing List
>>>>>Subject: Re: Classloading problem
>>>>>
>>>>>I have been using 5.0.27, putting my JDBC drivers in common/lib,
and my 
>>>>>struts jars in WEB-INF/lib of each application, and haven't had any

>>>>>problems. Why do you say "incorrectly"?
>>>>>
>>>>>Erik
>>>>>
>>>>>
>>>>>Ivan Vasquez wrote:
>>>>>
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>We have Tomcat 5.0.16 and were incorrectly placing common jars
(such as
>>>>>>JDBC drivers) in /common/lib. 
>>>>>>
>>>>>>Now we just moved them to /shared/lib (for truly common stuff) and
>>>>>>WEB-INF/lib, but now all applications complain giving a
>>>>>>java.lang.ClassNotFoundException, just like if things weren't in
>>>>>>Tomcat's classpath anymore. Apps and Tomcat restarts have been
done
>>>>>>several times.
>>>>>>
>>>>>>Is there anything in web.xml, server.xml, etc that needs to be
set?
>>>>>>  
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>What
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>are we possibly missing? Tomcat docs are pretty straightforward
about
>>>>>>  
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>it
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>and everything seems right.
>>>>>>
>>>>>>Once again, thanks in advance.
>>>>>>Ivan.
>>>>>>            
>>>>>>
>
>  
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to