在 Heroku 中拾取 JAVA_TOOL_OPTIONS 包含 RMI 参数
Picked up JAVA_TOOL_OPTIONS in Heroku contain RMI parameters
我正在开发一个应用程序,它在 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 buildpack
- 当前的 heroku-18 堆栈
- 1 个爱好网络测功机
我没有任何名为 JAVA_TOOL_OPTIONS 的配置变量。
那么附加参数是从哪里来的呢?
-Xmx300m -Xss512k -Dfile.encoding=UTF-8
选项来自 Java buildpack,记录在 Heroku's Dev Center page for Java。
RMI 选项可能来自 Heroku Exec and/or Heroku CLI for Java。如果你需要禁用这些,你可以 运行:
$ heroku config:set HEROKU_DISABLE_JMX="true"
我正在开发一个应用程序,它在 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 buildpack
- 当前的 heroku-18 堆栈
- 1 个爱好网络测功机
我没有任何名为 JAVA_TOOL_OPTIONS 的配置变量。 那么附加参数是从哪里来的呢?
-Xmx300m -Xss512k -Dfile.encoding=UTF-8
选项来自 Java buildpack,记录在 Heroku's Dev Center page for Java。
RMI 选项可能来自 Heroku Exec and/or Heroku CLI for Java。如果你需要禁用这些,你可以 运行:
$ heroku config:set HEROKU_DISABLE_JMX="true"