Jboss,为应用程序设置环境变量

时间:2014-06-12 05:53:27

标签: jboss environment-variables jruby warbler

我已经将我的rails应用程序设置为在java容器(JBoss / wildfly)中的jruby / warbler下运行。我以前习惯在linux机器上运行我的rails应用程序,或多或少使用init.d脚本等,而且我一直在使用DATABASE_URL设置连接而不将我的凭据放在源代码中。

Warbler本身是一个预打包的WAR,我可以将它部署到wildfly(jboss)中。但是没有关于如何在该应用程序的上下文中设置环境变量的示例。

我已经使用google搜索链接了,但是它们很神秘,这里甚至还有堆栈溢出问题,但是接受的答案似乎是让你自己的服务来做这件事吗?

有没有一种简单的方法可以将配置传递给jboss中的战争?或者所有java企业应用程序都只是在战争中存储凭证/网址O.O

2 个答案:

答案 0 :(得分:2)

您可以在应用程序服务器上设置数据源 https://docs.jboss.org/author/display/WFLY8/DataSource+configuration

在您的应用程序中,您将需要使用ActiveRecord-JDBC-Adapter https://github.com/jruby/activerecord-jdbc-adapter

或者您也可以在应用程序服务器的启动脚本(bin / standalone.sh或bin / domain.sh)中设置环境变量

答案 1 :(得分:1)

如果您正在使用Warbler(JRuby-Rack),则可以使用部署描述符中的上下文参数设置来隔离环境,例如:

<context-param>
  <param-name>jruby.runtime.env</param-name>
  <param-value>
    DATABASE_URL=mysql://192.168.1.11/mydb
    PATH=/usr/local/bin,HOME=/home/tomcat
  </param-value>
</context-param>

使用Warbler的配置文件很容易设置(使用warble config config / warbler.rb 生成一个) https://github.com/jruby/jruby-rack/wiki/ENV-Isolation#warbler