在运行时更改spring中现有Bean的属性值

时间:2014-11-25 16:25:01

标签: spring

我在Tomcat服务器上部署了一个Web应用程序。我在application-context.xml中创建了以下bean hiveDataSource

<!-- Hive Data Source for Connection Pooling -->
    <bean id="hiveDataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="url" value="jdbc:hive2://localhost:10000/demo48" />
        <property name="driverClassName" value="org.apache.hive.jdbc.HiveDriver" />
        <property name="username" value="hive" />
        <property name="password" value="" />
        <property name="removeAbandoned" value="true" />
        <property name="initialSize" value="5" />
        <property name="maxActive" value="20" />
    </bean>

我想在运行时更改bean hiveDataSource的属性URL,用户名和密码的值。有没有办法在运行时更改这些属性值?

1 个答案:

答案 0 :(得分:0)

documentation表示这些字段具有protected访问权限,因此您无法更改其值。
即使你这样做,通过使用反射或以其他方式,数据源也不太可能只是获取这些新值。它可能必须以某种方式重新启动或重新初始化。