2010-11-29 58 views
3

Quelle est la meilleure façon de configurer des variables dans une application JRuby qui est déployée en tant que fichier WAR? Le groupe d'opérations devra configurer les paramètres de base de données et les autres variables d'environnement en fonction de l'emplacement de déploiement de mon application. Comme il s'agit d'un fichier WAR, ils n'ont pas d'accès direct au fichier database.yml ou à l'un des fichiers d'environnement. Je veux être en mesure de modifier tout ce dont ils ont besoin pour les configurer et de leur demander de placer quelque chose dans Tomcat app.config/web.config. Est-ce possible? Comment apportez-vous ces valeurs dans JRuby?Transmission de variables à une application JRuby via Tomcat config

Répondre

5

Donc, pour obtenir les paramètres du contexte de servlet Tomcat dans JRuby est très simple j'ai découvert:

$servlet_context 

Ainsi, par exemple si j'avais défini ce qui suit dans le web.xml:

# from inside the web.xml context 
<context-param> 
    <param-value>jdbc:h2:localhost/~/test_db</param-value> 
    <param-name>database.url</param-name> 
</context-param> 

Vous pouvez accéder à la valeur dans JRuby comme suit:

$servlet_context.getInitParameter("database.url") 

Cela renverrait la chaîne " jdbc: h2: localhost/~/test_db ".

+0

Merci pour cela, est utile. Je déploie plusieurs guerres dans différents moteurs et vous pouvez les ajouter à 'conf///context.xml.default' dans le format différent: http://tomcat.apache.org/tomcat-6.0-doc/ config/context.html # Context_Parameters – Amala