gpt4 book ai didi

java - Spring 启动 : Make property non-configurable

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:48:33 27 4
gpt4 key购买 nike

在 Spring Boot 中,我有几个选择 externalize my configuration .但是,我怎样才能使这些属性不可配置,即只读。

具体来说,我想将 server.tomcat.max-threads 设置为一个固定值,并且不希望将要启动该应用程序的人能够更改它。例如,这可以通过将其作为命令行参数传递来轻松完成。

默认情况下可能无法实现,也许有人可以建议解决方法?

最佳答案

你有两个选择

  1. 设置System.setProperty("prop", "value")属性硬编码
  2. 使用将覆盖所有其他属性的属性

  3. 硬编码设置系统属性

        public static void main(String[] args) {
    System.setProperty("server.tomcat.max-threads","200");
    SpringApplication.run(DemoApplication.class, args);
    }
  4. secure.properties 中的属性将覆盖所有其他属性(参见 Prevent overriding some property in application.properties - Spring Boot)

    @Configuration
    public class SecurePropertiesConfig {

    @Autowired
    private ConfigurableEnvironment env;

    @Autowired
    public void setConfigurableEnvironment(ConfigurableEnvironment env) {
    try {
    final Resource resource = new
    ClassPathResource("secure.properties");
    env.getPropertySources().addFirst(new
    PropertiesPropertySource(resource.getFilename(),
    PropertiesLoaderUtils.loadProperties(resource)));
    } catch (Exception ex) {
    throw new RuntimeException(ex.getMessage(), ex);
    }
    }

关于java - Spring 启动 : Make property non-configurable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654375/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com