Yes. And I just deployed a war with my config to another server to
double-check.

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

[eweber]$ jar tf $TOMCAT_HOME/webapps/Foo.war

. . .

META-INF/context.xml
META-INF/MANIFEST.MF

. . .

Right?

Erik


Ivan Vasquez wrote:

>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=(PROTOC
O
>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]
>
>
>  
>

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