当前位置: 首页 > 知识库问答 >
问题:

动态设置Tomcat池属性

锺玺
2023-03-14

我能想到的唯一方法是,在不进行上述尝试的情况下,从一个字符串中设置每个属性,遍历每个属性,并使用if-else或switch-case逻辑来确定调用哪一个dataSource设置器来设置值。

那么,有没有一种方法可以在不调用每个单独的setter的情况下从字符串中动态设置这些属性呢?

当我在setconnectionpropertiessetdbproperties中设置用户名时,它确实发生了变化,但我认为这可能是针对用户名和密码的,因为我试图设置的其他属性没有效果。

编辑:为了澄清,数据源属性将从数据库加载,新的数据源可能会动态添加,因此使用应用程序属性将不起作用。

共有1个答案

曹普松
2023-03-14

我假设您正在进行spring-boot项目。在那种情况下,

在spring-boot的application.properties文件中创建属性

spring.datasource.username=XXX
spring.datasource.password=XXX
spring.datasource.max-active=XXX
spring.datasource.min-idle=XXX

并创建配置文件以创建数据源,如下所示

@Configuration
public class DataSourceConfiguration {

    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.driverClassName}")
    private String driverClass;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
    @Value("${spring.datasource.min-idle}")
    private Long minIdle;

    @Bean
    @Primary
    public DataSource dataSource() {
        DataSource dataSource = new DataSource();
        dataSource.setJdbcUrl(url);
        dataSource.setDriverClassName(driverClass);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        dataSource.setMinimumIdle(minIdle);
        return dataSource;
    }
}
 类似资料:
  • 问题内容: 我正在尝试向angular js的控制器中的div动态添加属性。 一切看起来都很好,在调试器中,我看到该属性已添加,但它不执行我的功能。您是否有任何想法如何向现有div添加属性以及如何使其起作用? 问题答案: 您需要重新编译div http://jsfiddle.net/r2vb1ahy/

  • 问题内容: 我有一个对象,它可以是任何数量的深度,并且可以具有任何现有属性。例如: 在此我想设置(或覆盖)属性,如下所示: 属性字符串可以具有任何深度,并且值可以是任何类型/事物。 如果属性键已经存在,则不需要合并对象和数组作为值。 前面的示例将产生以下对象: 如何实现这种功能? 问题答案: 此函数使用您指定的参数应添加/更新容器中的数据。请注意,您需要跟踪架构中的哪些元素是容器,哪些是值(字符串

  • 我有一个对象,可以是任何数量的层次深,可以有任何现有的属性。例如: 在此基础上,我希望设置(或覆盖)如下属性: 属性字符串可以有任何深度,值可以是任何类型/事物。 如果属性键已经存在,则不需要合并作为值的对象和数组。 上一个示例将生成以下对象: 如何实现这样的功能?

  • cmf_set_dynamic_config($data) 功能 设置动态配置 参数 $data: array 要设置的数据,格式["cmf_default_theme"=>'simpleboot3'] 返回 boolean

  • 本文向大家介绍使用变量动态设置js的属性名,包括了使用变量动态设置js的属性名的使用技巧和注意事项,需要的朋友参考一下 目标:js的属性名可以使用变量 举例:js对象object,当赋给该对象属性的时候可以采用以下方式 也可以采用如下方式: 在这里prop1 作为属性名称,可以直接用,也可以加上引号,比如: 表达的含义都是一样的,也就是说,prop1只能作为常量被识别,即使它是个变量也没用,例如:

  • 本文向大家介绍VUE.js实现动态设置输入框disabled属性,包括了VUE.js实现动态设置输入框disabled属性的使用技巧和注意事项,需要的朋友参考一下 需求背景 页面从list列表展示,跳转到新增和修改的时候,新增和修改用的是同一个页面:add-or-update.vue。 修改的时候用户的账号不能修改,因此需要将账号的输入框属性设置为"只读"。 代码样例 dataForm.id初始值