What I'm trying to do is a slightly strange. Let me see if I can explain it a
different way.
I'd like to be able to use Tomcat's auto deploy feature of the manager to
simply copy the war into the webapps directory, and have the context come up
correctly with its solr home set appropriate to its deploy-time name. Something
like this:
$ cp solr-master.war ${CATALINA_HOME}/webapps/solr-001.war
$ cp solr-master.war ${CATALINA_HOME}/webapps/solr-002.war
and then have access to
http://localhost:8080/solr-001/
http://localhost:8080/solr-002/
Essentially, I might not have access to ant at deploy time, nor have the
ability to change the master war itself. This means that I won't be able to
change the context.xml or the web.xml files, since they will already be
packaged inside the war archive. So, is there some way to generic-ify the
context fragment?
Anthony
-----Original Message-----
From: Christopher Schultz [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 11, 2007 3:30 PM
To: Tomcat Users List
Subject: Re: context-relative path in JNDI variables
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Anthony,
Arnone, Anthony wrote:
> I’m trying to set a system where I can deploy a single .war under
> multiple context names (using the ant deploy extensions).
Ooh! I love these things.
> ant -Ddeploy-path=/app-01 deploy
>
> ant -Ddeploy-path=/app-02 deploy
How about:
ant -Dcontext-name=app-01 deploy
ant -Dcontext-name=app-02 deploy
> <Context>
>
> <Environment name="solr/home" type="java.lang.String"
> value="webapps/${context.name}/app-01/solr/" override="true" />
>
> </Context>
Then you can just use:
<Environment
name="solr/home"
type="java.lang.String"
value="webapps/${context-name}/solr/"
override="true" />
Make sure that you turn on the appropriate filter when copying (or
generating) your context.xml file so that ${context-name} gets expanded.
> <env-entry>
>
> <env-entry-name>solr/home</env-entry-name>
>
> <env-entry-type>java.lang.String</env-entry-type>
>
> <env-entry-value>
> webapps/${context.name}/app-01/solr/</env-entry-value>
>
> </env-entry>
Using web.xml might be a little bit more platform-neutral. The strategy
would be the same.
> This allows for a much simpler deployment, where
> no context.xml needs to be generated and packaged into the war at
> deploy time.
Really? How do you deploy a WAR file without a context.xml file? Or, do
you not need Tomcat to provide anything specific like a JNDI data source?
> Unfortunately, as far as I know, a variable like this
> does not exist. So my question is this, is there a way to specify a
> variable like this relative to the context root?
No, but you can just change the way you think about the variable and
alter your scripts accordingly.
- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFG5wjK9CaO5/Lv0PARAvToAJ4y/phvSQbao1LRnq4oWDbB7gri6wCgtlKC
LDfVpPmTGsi1oqxm0/LN25I=
=WlK0
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]