AWS Elastic Beanstalk 和 JAVA_OPTS

问题描述 投票:0回答:2

我有一个部署到 Elastic Beanstalk 的 java 应用程序。 有两种环境:测试和生产,生产配置为使用比测试更大的实例。 使用 java 环境的默认配置,最大堆大小约为所有实例 RAM 的 1/4(对于 2G RAM 实例,约为 0.5G),我想增加它 (

-Xmx
)。 可用选项有:

  • 使用
    .ebextensions
    - 这样两个环境的配置将是相同的(不好)
  • 使用
    Procfile
    - 与上面相同
  • 在控制台中使用
    Environment properties
    不起作用 - 这些属性将传递给应用程序 (
    -D
    ),而不是
    java

有什么想法如何根据环境/可用内存大小设置

-Xmx
? 谢谢

java amazon-elastic-beanstalk
2个回答
1
投票

我想到两种方法来解决这个问题:

  1. 两套

    .ebextensions
    ,一套
    test
    ,一套
    prod
    ,做应用程序包时,只需将
    .ebextensions
    放在
    webapp
    文件夹下,
    Beanstalk

  2. 就会拾取它
  3. 自定义

    catalina.sh
    grep
    可用内存并相应调整
    -Xmx


0
投票

你能解决这个问题吗?我也尝试使用 Procfile,部署完成正常,但应用程序无法启动,如果我删除 JVM 选项,则可以正确启动

© www.soinside.com 2019 - 2024. All rights reserved.