@Refreshscope with DriverManagerDataSource

147 Views Asked by At

I am having a datasource configuration class in a Spring boot app. Snippet below

Password is fetching from a service and when the password got change is not refresh until i restart the spring boot application (or JVM). Any Idea?

 @Configuration
 @EnableTransactionManagement
    public class TestDBConfig
    {
      ..............
      @Value("${URL}")
        private String dbURL;
       .........
    @Bean
    @RefreshScope
    public DataSource dataSource() {
     DriverManagerDataSource driverManagerDataSourc = new DriverManagerDataSource();

            driverManagerDataSourc.setDriverClassName(oracleDriver);
            driverManagerDataSourc.setUrl(dbURL);
            driverManagerDataSourc.setUsername(dbUserName);
            dataSource.setPassword(dbPassword);
            if (isPWService != null && isPWService.equalsIgnoreCase("N")) {

                driverManagerDataSourc.setPassword(dbPassword);
            } else {

                driverManagerDataSourc.setPassword(getPWService());
            }

            return dataSource;
        }
    public String getPWService() {
        .........
    }
        }
0

There are 0 best solutions below