在启动时传递jboss参数

时间:2011-04-01 10:42:41

标签: java jboss

我正在尝试在启动时将参数传递给我的jboss服务器,它是一个字符串,但是当我在这里部署war时它总是变为null我是这样做的:

./run.sh -Dfile.config=/home/stats/config.xml -c default -b 192.168.1.102

奇怪的是,在查看日志时,我没有将此属性传递给VM:

[ServerInfo] VM arguments: -Dprogram.name=run.sh -Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.lang.ClassLoader.allowArraySyntax=true -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/apps/jboss/lib/endorsed

任何人都可以弄清楚我做错了什么吗?谢谢

修改

这是我在代码中引用此属性的方法:

Properties property = System.getProperties();
String fileName = (String)property.get("file.config");

这适用于Windows,从eclipse启动jboss:

enter image description here

这次我试图从linux盒子里运行这个服务器。

2 个答案:

答案 0 :(得分:2)

你应该把它放到JAVA_OPTS env变量:

$ export JAVA_OPTS="-Dfile.config=/home/stats/config.xml"
$ bin/run.sh

在启动JBoss之前或者如果这不是一次性选项, 将其放在bin/run.conf表达式中的JAVA_OPTS

答案 1 :(得分:2)

我使用了环境变量。我在启动jboss之前设置它们,然后在jboss上运行的类中收集它们。