7

如何将属性传递给使用 Wrapper.exe 作为 Windows 服务启动的 Java 进程?

目标代码调用:

System.getProperty("ADMIN_USERNAME");
4

4 回答 4

7

http://wrapper.tanukisoftware.org/doc/english/prop-java-additional-n.html

您可以设置将转到 JVM(而不是您的主类)的“附加参数”,并且 -DADMIN_USERNAME=gandalf 应该在那里工作。

wrapper.java.additional.1=-Xrs
wrapper.java.additional.2=-Dprop=TRUE
wrapper.java.additional.3=-DADMIN_USERNAME=gandalf

更新:您必须从additional.1开始并且不加间隔地进行计数(这是将列表硬塞到Java 属性语法中的约定)。

于 2009-03-09T04:39:38.900 回答
0

您可以在包装配置文件中设置某些属性,请参阅此链接:

http://wrapper.tanukisoftware.org/doc/english/properties.html

我相信您还可以将包装器配置为启动 java 并使用 java "-Dproperty=value" 语法传递其他属性

于 2009-03-09T04:35:43.170 回答
0

这是在黑暗中拍摄的,但是您是否考虑过使用 JMX 与服务进行通信?或者这是你需要的过度杀伤力?

尤瓦尔=8-)

于 2009-03-09T05:07:58.100 回答
0

@Thilo 的回答是正确的,但我觉得我必须补充一点,您必须注意JAVA_OPTS环境变量。许多人/服务器倾向于使用它(例如:远程调试),因为您放入 JAVA_OPTS 的任何内容都会作为 JVM 参数传递给任何新的 JVM。如果您设置了此环境变量,那么任何wrapper.java.additional.<n> 都将被忽略。我在艰难的路上发现了这一点:)

于 2019-06-04T11:01:51.427 回答