Amazon Elastic Beanstalk 中的自定义环境变量名称限制

Custom environment variable name restriction in Amazon Elastic Beanstalk

我们正在 AWS Elastic Beanstalk 中部署 Java SE 应用程序,它使用 PDFBox 进行 pdf 渲染。

由于Java8的渲染性能存在一些问题,PDFBox FAQ建议设置系统属性: -Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider 或 System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider");

我在 .ebextensions 中使用配置文件创建了 属性,我可以在环境配置部分看到它,但我无法在 JVM 中获取它。当我执行 System.getProperty("sun.java2d.cmm") 时,值为空。

A​​WS 支持人员告诉我 "sun_java2d_cmm" 有效,这是正确的,但我需要这个特定参数而不是用“_”命名的版本。

有人知道为什么存在这个限制吗?我的问题是否有其他解决方案?

此致, 克里斯蒂安.

AWS 技术支持将调查此问题,但这有可能是无法克服的技术限制。但是,可以通过使用 procfile 并从那里启动应用程序来实现修复: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-se-platform.html#java-se-procfile