我正在开发一个应用程序,它在 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构建包当前 heroku-18 堆栈1个爱好网络测功机我没有任何名称为 JAVA_TOOL_OPTIONS 的配置变量。那么额外的参数是从哪里来的呢?
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
这些-Xmx300m -Xss512k -Dfile.encoding=UTF-8
选项来自 Java buildpack,它记录在Heroku 的 Java 开发中心页面上。
RMI 选项可能来自Heroku Exec 和/或 Heroku CLI for Java。如果您需要禁用这些,您可以运行:
$ heroku config:set HEROKU_DISABLE_JMX="true"
添加回答
举报
0/150
提交
取消