Discussion:
Default context.xml with parallel deployment
Gilles SCHLIENGER
2018-11-08 20:45:36 UTC
Permalink
Hi everyone,

We are using Tomcat 9.0.8.

We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.

When using parallel deployment, I understand that you should use for specific context xml files :
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml

We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions

It seems we could use a file called « context.xml.default » but the properties would be also available to other applications, which we don't want.

Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?

Thanks a lot in advance !
Regards
Gilles
Mark Thomas
2018-11-08 22:37:12 UTC
Permalink
Post by Gilles SCHLIENGER
Hi everyone,
We are using Tomcat 9.0.8.
We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml
We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions
It seems we could use a file called « context.xml.default » but the properties would be also available to other applications, which we don't want.
Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?
There isn't an explicit Tomcat feature that would do this.

Could you do something with XML entities? There is a description of them
here: https://wiki.apache.org/tomcat/FAQ/Password in the context of
moving passwords to an external file.

Could you create myapplication.txt and then ship each app with a simple
context.xml file that included the above file?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org
Gilles SCHLIENGER
2018-11-09 09:14:55 UTC
Permalink
Thank you very much Mark for your answer.
I will look into the xml entities, I did not know about this feature.

I was wondering if a feature like having a "myapplication.xml.default" could be a good idea to include in future Tomcat releases ?

Thanks again
Regards
Gilles


-----Message d'origine-----
De : Mark Thomas [mailto:***@apache.org]
Envoyé : jeudi 8 novembre 2018 23:37
À : ***@tomcat.apache.org
Objet : Re: Default context.xml with parallel deployment
Post by Gilles SCHLIENGER
Hi everyone,
We are using Tomcat 9.0.8.
We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml
We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions
It seems we could use a file called « context.xml.default » but the properties would be also available to other applications, which we don't want.
Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?
There isn't an explicit Tomcat feature that would do this.

Could you do something with XML entities? There is a description of them
here: https://wiki.apache.org/tomcat/FAQ/Password in the context of
moving passwords to an external file.

Could you create myapplication.txt and then ship each app with a simple
context.xml file that included the above file?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org
Gilles SCHLIENGER
2018-11-09 13:52:29 UTC
Permalink
I tried my best with this solution.

Actually, using external entities for an XML attribute is not supported with an external file, so the solution in the FAQ does not seem good.

I get a strange error when I do a SYSTEM reference to an external XML file, the webapp can not start.
I get for my jdbc datasource :
IntrospectionUtils: Assert: Illegal params null ContextResource[name=jdbc/...

So I'm afraid I can't use this solution...

Regards
Gilles


-----Message d'origine-----
De : Gilles SCHLIENGER [mailto:***@cncc.fr]
Envoyé : vendredi 9 novembre 2018 10:15
À : Tomcat Users List
Objet : RE: Default context.xml with parallel deployment

Thank you very much Mark for your answer.
I will look into the xml entities, I did not know about this feature.

I was wondering if a feature like having a "myapplication.xml.default" could be a good idea to include in future Tomcat releases ?

Thanks again
Regards
Gilles


-----Message d'origine-----
De : Mark Thomas [mailto:***@apache.org]
Envoyé : jeudi 8 novembre 2018 23:37
À : ***@tomcat.apache.org
Objet : Re: Default context.xml with parallel deployment
Post by Gilles SCHLIENGER
Hi everyone,
We are using Tomcat 9.0.8.
We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml
We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions
It seems we could use a file called « context.xml.default » but the properties would be also available to other applications, which we don't want.
Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?
There isn't an explicit Tomcat feature that would do this.

Could you do something with XML entities? There is a description of them
here: https://wiki.apache.org/tomcat/FAQ/Password in the context of
moving passwords to an external file.

Could you create myapplication.txt and then ship each app with a simple
context.xml file that included the above file?

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org

Jäkel, Guido
2018-11-09 07:22:01 UTC
Permalink
Dear Giles,

what aspects do you use in you myapplication#foo.xml ? You may symlink this files from an application-specific master template, e.g. myapplication.xml

greeatings

Guido
-----Original Message-----
Sent: Thursday, November 08, 2018 9:46 PM
Subject: Default context.xml with parallel deployment
Hi everyone,
We are using Tomcat 9.0.8.
We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml
We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions
It seems we could use a file called « context.xml.default » but the properties would be also available to other applications,
which we don't want.
Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?
Thanks a lot in advance !
Regards
Gilles
---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org
Gilles SCHLIENGER
2018-11-09 09:07:03 UTC
Permalink
Hi Guido,

Thank you very much for your answer.

Our context xml file contains <Environment> and <Resource> elements

Can you give me more details about what you mean by seamlink ?

We want toovoid having to create a new file in $CATALINA_BASE/conf/[enginename]/[hostname]/ everytime we deploy a war with a new version of the application.

Thanks a lot again
Regards
Gilles


-----Message d'origine-----
De : Jäkel, Guido [mailto:***@dnb.de]
Envoyé : vendredi 9 novembre 2018 08:22
À : '***@tomcat.apache.org'
Objet : RE: Default context.xml with parallel deployment

Dear Giles,

what aspects do you use in you myapplication#foo.xml ? You may symlink this files from an application-specific master template, e.g. myapplication.xml

greeatings

Guido
-----Original Message-----
Sent: Thursday, November 08, 2018 9:46 PM
Subject: Default context.xml with parallel deployment
Hi everyone,
We are using Tomcat 9.0.8.
We are using xml context files in $CATALINA_BASE/conf/[enginename]/[hostname]/ to store the database connexion information.
- for myapplication##1.war : myapplication##1.xml
- for myapplication##2.war : myapplication##2.xml
We would like to have a default context xml file ONLY available for the « myapplication » application but for all versions
It seems we could use a file called « context.xml.default » but the properties would be also available to other applications,
which we don't want.
Is there a way to have a context.xml file available to all versions of the same application or any other way to do it ?
Thanks a lot in advance !
Regards
Gilles
---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-***@tomcat.apache.org
For additional commands, e-mail: users-***@tomcat.apache.org
Loading...