【问题标题】:Passing variables to a JRuby application via Tomcat config通过 Tomcat 配置将变量传递给 JRuby 应用程序
【发布时间】:2010-11-29 16:32:33
【问题描述】:
在部署为 WAR 文件的 JRuby 应用程序中配置变量的最佳方法是什么?操作组将需要根据我的应用程序的部署位置配置数据库设置和其他环境变量。因为它是一个 WAR 文件,尽管他们无法直接访问 database.yml 或任何环境文件。
我希望能够对他们需要配置的任何内容进行可变化,并让他们可能将某些内容放入 Tomcat app.config/web.config。这可能吗?您如何将这些价值观带入 JRuby?
【问题讨论】:
标签:
java
ruby-on-rails
tomcat
jruby
config
【解决方案1】:
所以我发现在 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:localhost/~/test_db”。