I'm jumping in the middle here so forgive me if this has already been
covered.

If you notice that your context.xml is not being deployed from your own
META-INF directory, try putting the following in your server.xml :

<Host name="localhost" debug="0" appBase="webapps"
      unpackWARs="true" autoDeploy="false" deployOnStartup="true"
      xmlValidation="false" xmlNamespaceAware="false" deployXML="true" >

The deployXML="true" is the important part. I'm not certain if that
defaults to false or not.

When I have the above and my context.xml in the META-INF, then tomcat
creates the <mywebappname.xml> within the conf/Catalina/blah blah/
directory.

Hope this helps.

-Dennis


-----Original Message-----
From: Lucas Bee [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 02, 2006 5:11 PM
To: 'Tomcat Users List'
Subject: RE: Tomcat - Hibernate

Hello,

I think we are getting very close I just need clarification on a few
things.
First off I made the changes of taking out the Context setting in the
server.xml and created a context.xml file and put it into the META-INF
directory of my application. (Side note: I think this is a lot easier
and
cleaner way of doing it) 

I deployed my war file through Tomcat Manager with the context.xml file
in
the META-INF directory and it would deploy but not connect to the
database.
So, I also put the context.xml file in the following path:

${CATALINA_HOME}/conf/${ENGINE_NAME}/${HOSTNAME}/${CONTEXT_NAME}.xml

This would work great, but I still had to restart TC once I did this.

<!------------------- Question 1 -------------------------------------->

First Question:  Is this correct to place the context.xml file in both
places when uploading with a WAR through Tomcat Manager?

I reviewed both these resources for more information but I didn't really
find what I was looking for.

http://tomcat.apache.org/tomcat-5.5-doc/deployer-howto.html

http://tomcat.apache.org/tomcat-5.5-doc/manager-howto.html


<!------------------- End Question 1
-------------------------------------->

What I would like to do is use Tomcat Manager to deploy, undeploy and
redeploy my apps. But remotely there is no way to upload the context.xml
file into the correct
${CATALINA_HOME}/conf/${ENGINE_NAME}/${HOSTNAME}/${CONTEXT_NAME}.xml
path.

Below is an example of my context.xml file that I put into my META-INF.
I
don't think you would have to change anything from the server.xml to
this,
but I'm not sure.

<!---------------------- CODE
-------------------------------------------->

<!-- Context path for application Cohorts -->
<Context path="/Cohorts" docBase="Cohorts"  reloadable="true"
crossContext="true">

    <Resource name="jdbc/dbus5" scope="Shareable"
type="javax.sql.DataSource"/>

    <ResourceParams name="jdbc/dbus5">

        <parameter>
            <name>factory</name>
 
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>

        <!-- DBCP database connection settings -->
        <parameter>
            <name>url</name>
 
<value>jdbc:mysql://server:3306/us?autoReconnect=true</value>
        </parameter>
        <parameter>
 
<name>driverClassName</name><value>com.mysql.jdbc.Driver</value>
        </parameter>
       ...
    </ResourceParams>
</Context>

<!------------ End Code
--------------------------------------------------->


<!------------------------------- Server.xml Settings
--------------------->

<Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">

<!---------------------------- End Server.xml Settings
------------------->

Thanks again for all your help.

-Lucas

-----Original Message-----
From: Tim Lucia [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 02, 2006 5:22 AM
To: 'Tomcat Users List'
Subject: RE: Tomcat - Hibernate

You want ENGINE_NAME in there too, i.e.:

${CATALINA_HOME}/conf/${ENGINE_NAME}/${HOSTNAME}/${CONTEXT_NAME}.xml

or, for example (spaces delineate variables above, don't really use
them),

/usr/local/tomcat /conf /Catalina /localhost /ROOT.xml ==>
http://localhost:8080/

/usr/local/tomcat /conf /Catalina /localhost /myapp.xml ==>
http://localhost:8080/myapp

Tim

-----Original Message-----
From: Nikola Milutinovic [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 02, 2006 3:28 AM
To: Tomcat Users List
Subject: Re: Tomcat - Hibernate



--- Giorgio Clavelli <[EMAIL PROTECTED]> wrote:

> Hi,
> I'm not an exper at all, but I try to put my 2 cents.
> The fact that your app can connect successfully after the server
restart,
> suggests that you should have your app's context.xml (or whatever it
is
> called) not in the server.xml but in the correct location inside your
app
> directories. I seem to have read, the correct location being under the
> META-INF directory and that Tomcat tries first to look for context in
this
> dir and then  use that one under server.xml.
> I hope expert user, will comfirm in one way or the other this
understanding
> of your problem.

As of TC 5.0 the prefered way of configuring a context (web application)
is
to
use a XML context fragment file. That file will either be placed in
${CATALINA_HOME}/conf/${HOSTNAME}/${CONTEXT_NAME}.xml, if you're
deploying
from
a directory or in ./META-INF/${CONTEXT_NAME}.xml, if it is a WAR file.

That way, deploying of an app can be free from editing the server.xml.

As for the original problem, that is NOT it. The fact that TC's restart
picks
up everything suggests that the config is OK. Or at least relatively OK.
I
think that TC will create a XML fragment for the app and it could be
that
*that* fragment is interfering with the deployment process.

Since I can see nothing wrong with the config, I would advise the
original
poster to go the correct route. Create the config fragment, pack it into
your
WAR, clean up server.xml and try to deploy/undeploy/redeploy. It will
have
no
effect on TC 4.x, if you're warried that you might be forced to use it
some
day, TC4 ignores that file (one question to the authoritative guys: will
that
dir be accessable? - a potential security hole).

Nix.

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

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