2010-11-29 112 views
3

在部署爲WAR文件的JRuby應用程序中配置變量的最佳方式是什麼?操作組將需要根據應用程序的部署位置來配置數據庫設置和其他環境變量。由於它是WAR文件,儘管它們沒有直接訪問database.yml或任何環境文件的權限。通過Tomcat將變量傳遞給JRuby應用程序配置

我想能夠變化任何他們需要配置,並讓他們可能把東西放入Tomcat的app.config/web.config。這可能嗎?你如何將這些值帶入JRuby?

回答

5

所以從JRuby中Tomcat的servlet上下文得到的參數是非常簡單的,我發現:

$servlet_context 

因此,舉例來說,如果我有以下在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> 

您可以按如下方式訪問JRuby中的值:

$servlet_context.getInitParameter("database.url") 

這將返回字符串「 JDBC:H2:本地主機/〜/ TEST_DB」。

+0

謝謝你,這很有用。我在不同的引擎中部署多個戰爭,你可以用不同的格式將它們添加到 `conf///context.xml.default`中:http://tomcat.apache.org/tomcat-6.0-doc/配置/ context.html#Context_Parameters – Amala 2012-10-19 19:23:27

相關問題