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]