在Heroku中拾取的JAVA_TOOL_OPTIONS包含RMI参数

时间:2018-09-06 14:58:57

标签: java heroku pipeline

我正在开发一个应用程序,它可以在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的配置变量。 那么额外的论点是从哪里来的?

1 个答案:

答案 0 :(得分:1)

-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"