Я разрабатываю приложение, и оно успешно работает на Heroku. Я использую функцию конвейера, поэтому один и тот же код используется в разработке, постановке и производстве.
При более глубоком изучении журнала приложения для разработчиков есть одна строка, которая меня немного смущает:
Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -Dfile.encoding=UTF-8 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1098 -Dcom.sun.management.jmxremote.rmi.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=true -Djava.rmi.server.hostname=172.xx.xx.xx -Djava.rmi.server.port=1099
В общем, я понимаю, что JVM берет некоторые параметры по умолчанию из среды (например, настройки памяти и так далее). Я сомневаюсь, откуда берутся все эти параметры jmx и rmi. В моем производственном приложении они не отображаются.
Это что-то особенное в среде стадии разработки конвейера? Я не могу найти для него никакой документации.
Конфигурация приложения:
У меня нет конфигурационных переменных с именем JAVA_TOOL_OPTIONS. Так откуда же взялись дополнительные аргументы?




Параметры -Xmx300m -Xss512k -Dfile.encoding=UTF-8 взяты из пакета сборки Java, который задокументирован на Страница Центра разработки Heroku для Java.
Опции RMI, вероятно, исходят от Heroku Exec и / или Heroku CLI для Java. Если вам нужно отключить их, вы можете запустить:
$ heroku config:set HEROKU_DISABLE_JMX = "true"
Да, проблема решена. Дополнительные параметры пропали. Спасибо.