Установить системные свойства Java для всех процессов Java - PullRequest
0 голосов
/ 19 марта 2019

У меня есть системное свойство (предоставляется JVM), которое называется networkaddress.cache.ttl.Этот параметр имеет неправильное значение по умолчанию -1 и должен быть установлен на другое значение (например, 60).

Я знаю, что это можно установить, вызвав java -Dnetworkaddress.cache.ttl=60 -jar main.jar

Есть лиспособ установить это значение в качестве общесистемного значения по умолчанию, чтобы любой процесс, выполняющий java -jar main.jar, мог его забрать?

1 Ответ

1 голос
/ 19 марта 2019

Проверка JAVA_TOOL_OPTIONS переменная окружения - https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/envvars002.html

Вы можете установить его для добавления параметров JVM во все процессы Java.

В вашем случае это должно быть установлено на

-Dnetworkaddress.cache.ttl=60

Процесс JVM должен выводиться в начале:

Picked up JAVA_TOOL_OPTIONS: <your value>

Если они выбирают вашу настройку.

редактировать: alex

public class Main {
  public static void main(String[] args) {
    System.out.println(System.getProperties().get("foobar"));
  }
}

Тест:

$ export JAVA_TOOL_OPTIONS='-Dfoobar=1'
$ java Main
Picked up JAVA_TOOL_OPTIONS: -Dfoobar=1 
1
...