2010-11-29 11 views
3

Wie können Variablen in einer JRuby-Anwendung, die als WAR-Datei bereitgestellt wird, am besten konfiguriert werden? Die Operationsgruppe muss Datenbankeinstellungen und andere Umgebungsvariablen konfigurieren, je nachdem, wo meine App bereitgestellt wird. Da es sich um eine WAR-Datei handelt, haben sie keinen direkten Zugriff auf die Datei database.yml oder eine der Umgebungsdateien.Übergeben von Variablen an eine JRuby-Anwendung über Tomcat-Konfiguration

Ich möchte in der Lage sein, alles, was sie konfigurieren müssen variabel zu gestalten und haben sie vielleicht etwas in die Tomcat app.config/web.config. Ist das möglich? Wie bringst du diese Werte in JRuby?

Antwort

5

So in JRuby Parameter aus dem Tomcat-Servlet-Kontext zu bekommen ist sehr einfach ich entdecken:

$servlet_context 

So zum Beispiel, wenn ich in den web.xml folgenden definiert hatte:

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

Sie können auf den Wert in JRuby wie folgt zugreifen:

Dies würde die Zeichenfolge zurückgeben " jdbc: h2: localhost/~/test_db ".

+0

Danke dafür ist nützlich. Ich verwende mehrere Kriege in verschiedenen Engines und Sie können sie in 'conf///context.xml.default' im anderen Format hinzufügen: http://tomcat.apache.org/tomcat-6.0-doc/ config/context.html # Kontext_Parameter – Amala