After following up the advice from David and others, I
think I've got the configuration I need. I'm posting
a minimal version of the setup as it seems to me that
this might be a fairly common requirement:
- I'm running two applications on a single server;
each has its own domain name.
- Within each application there may be one or more
contexts, corresponding to different versions of the
webapp (used by different customers).
- Various site-specific parameters need to be set
within the context, where they will override values in
web.xml.
- I don't want any kind of auto deployment
server.xml
----------
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" />
<Engine name="Catalina" defaultHost="host1">
<!-- it seems that if both autoDeploy and
deployOnStartup are false, the host returns empty
pages, but if either one is false then it's OK -->
<Host name="host1" appBase="noapps"
autoDeploy="false" unpackWARs="false"
deployXML="false" />
<Host name="host2" appBase="noapps"
autoDeploy="false" unpackWARs="false"
deployXML="false" />
</Engine>
</Service>
</Server>
directory structure
-------------------
{catalina_home}
conf
Catalina
host1
ROOT.xml: <Context
docBase="${catalina.home}/ibo/ibo3" />
ibo4.xml: <Context
docBase="${catalina.home}/ibo/ibo4" />
...
host2
ROOT.xml: <Context
docBase="${catalina.home}/cbo/cbo.1.23.45" />
...
noapps
[nothing in here - would appBase="dev/null" work?]
ibo
ibo3
WEB-INF
ibo4
WEB-INF
cbo
cbo.1.23.45
WEB-INF
I seem to have problems if the context directories
aren't below ${catalina.home}, but this I can live
with.
Thanks to all who helped.
Chris
--- David Smith <[EMAIL PROTECTED]> wrote:
> Some thoughts:
>
> 1. The naming of all the associated files with your
> webapp should be
> consistent with the path attribute of the context
> element (assuming ibo4
> is it's name):
> Context xml file should be named ibo4.xml
> The webapp's directory should be named ibo4
> If deploying from a .war file, the .war file
> should be named ibo4.war.
>
> 2. The name of the root application is ROOT (case
> sensitive), so if this
> is to be the webapp to respond on request to /*, the
> war file, context
> xml file, and the webapp's folder should all be
> named ROOT (ROOT.xml,
> ROOT.war, webapps/ROOT).
>
> It should also be noted that with the context xml
> file in
> config/Catalina/www.iboserver.com/ibo4.xml, the path
> and docbase
> attributes may be ignored under tomcat 5.5. Open
> your manager webapp to
> see what's deployed and under what names.
>
> --David
>
> Chris Walker wrote:
>
> >Thanks Mark. I noticed that, but my objective is
> to
> >store configuration parameters that are
> >platform-specific outside the webapp. The stuff in
> >the server's context definitions nicely overrides
> >anything in web.xml.
> >
> >Chris
> >
> >--- Mark Petrovic <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >>Hi.
> >>
> >>Context fragments can also be put in your webapp's
> >>META-INF directory, per
> >>the 4th bullet item here
> >>
> >>
> >>
> >>
>
>http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
> >
> >
> >>E.g.,
> >>
> >>pluto:PGCRM> jar tf dist/crmrpc.war |head -3
> >>META-INF/
> >>META-INF/MANIFEST.MF
> >>META-INF/context.xml
> >>
> >>where context.xml contains, in my particular case,
> a
> >>JDBC resource
> >>definition
> >>
> >><Context path="/crmrpc" debug="5"
> reloadable="true"
> >>crossContext="true">
> >> <Resource
> >> name="jdbc/crm"
> >> auth="Container"
> >> type="javax.sql.DataSource"
> >> maxActive="100"
> >> maxIdle="30"
> >> maxWait="10000"
> >> username="u"
> >> password="p"
> >> driverClassName="com.mysql.jdbc.Driver"
> >>
> >>
> >>
> >>
>
>url="jdbc:mysql://localhost:3306/cm?autoReconnect=true"
> >
> >
> >> />
> >></Context>
> >>
> >>
> >>On 5/29/06, Chris Walker
> <[EMAIL PROTECTED]>
> >>wrote:
> >>
> >>
> >>>Hello,
> >>>
> >>>I have just migrated a family of webapps from
> >>>
> >>>
> >>Tomcat 4 to Tomcat 5.5
> >>
> >>
> >>>. It's
> >>>working OK, but reading through the documentation
> >>>
> >>>
> >>I see there is a
> >>
> >>
> >>>recommendation that I remove the <Context>
> >>>
> >>>
> >>sections from server.xml and
> >>
> >>
> >>>put
> >>>them in files in
> >>>
> >>>
> >>{catalina_root}/conf/[engine]/[Host].
> >>
> >>
> >>>But when I do this I find that each of the
> >>>
> >>>
> >>contexts just responds with an
> >>
> >>
> >>>empty HTML page - no HTTP error, and nothing in
> >>>
> >>>
> >>any of the Tomcat logs to
> >>
> >>
> >>>suggest an error. This is the response:
> >>>
> >>>
> >>>
> >>>
> >>>
>
>----------------------------------------------------------------------------
> >
> >
> >>>---
> >>><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
> >>>
> >>>
> >>Transitional//EN">
> >>
> >>
> >>><HTML><HEAD>
> >>><META http-equiv=Content-Type content="text/html;
> >>>charset=windows-1252"></HEAD>
> >>><BODY></BODY></HTML>
> >>>
> >>>
> >>>
> >>>
>
>----------------------------------------------------------------------------
> >
> >
> >>>---
> >>>
> >>>I've tried various names for the context XML
> >>>
> >>>
> >>files, and I've tried
> >>
> >>
> >>>specifying an absolute path for the context
> >>>
> >>>
> >>docBase, but it seems to make
> >>
> >>
> >>>no
> >>>difference.
> >>>
> >>>Can anybody suggest what I'm doing wrong?
> >>>
> >>>Chris Walker
> >>>
> >>>
> >>>
> >>>
> >>>
>
>----------------------------------------------------------------------------
> >
> >
> >>>---
> >>>This is my server.xml after modification:
> >>>
> >>><Server port="8005" shutdown="SHUTDOWN">
> >>>
> >>> <Service name="Catalina">
> >>>
> >>> <Connector port="80"
>
=== message truncated ===
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]