Как передать системное свойство с помощью Wrapper.exe - PullRequest
7 голосов
/ 09 марта 2009

Как передать свойство процессу Java, запущенному как служба Windows с помощью Wrapper.exe?

Целевой код звонков:

System.getProperty("ADMIN_USERNAME");

Ответы [ 4 ]

7 голосов
/ 09 марта 2009

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

Обновление: Вы должны начать с extra.1 и считать без пробелов (Это соглашение для списков в синтаксис свойств Java).

0 голосов
/ 04 июня 2019

@ Ответ Тило правильный, но я чувствую, что должен добавить, что вы должны позаботиться о JAVA_OPTS переменной среды. Многие люди / серверы склонны использовать его (например, удаленную отладку), поскольку все, что вы помещаете в JAVA_OPTS, передается в качестве аргументов JVM любой новой JVM. Если у вас установлена ​​эта переменная окружения, то любая wrapper.java.additional.<n> будет игнорироваться . Я нашел это на своем пути :)

0 голосов
/ 09 марта 2009

Это выстрел в темноте, но рассматривали ли вы возможность использования JMX для связи со службой? Или это излишество для того, что тебе нужно?

Юваль = 8 -)

0 голосов
/ 09 марта 2009

Вы можете установить определенные свойства в файле конфигурации оболочки, см. Эту ссылку:

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

Полагаю, вы также можете настроить оболочку для запуска java и передать дополнительные свойства, используя синтаксис java "-Dproperty = value"

...