Uploaded image for project: 'Agroal'
  1. Agroal
  2. AG-237

Ability to change DataSource settings after starting

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • pool
    • None
    • False
    • None
    • False

      Hi, Agroal Community!

      Quartus supports database management via Agroal Connection Pool (https://quarkus.io/guides/datasource).

      When initializing an application, Quarkus allows you to create unremovable beans, for example DataSource. https://quarkus.io/guides/cdi-reference#remove_unused_beans

      The existing library functionality does not allow you to restart the connection with new credentials in an existing bean. This functionality would be useful when switching to a backup database in case of an accident.

      Can we add this functionality to the new version? For example, at 2.4?

      https://github.com/agroal/agroal/pull/102

      Example:

              Properties properties = new Properties();
              properties.setProperty(ReloadDataSourceUtil.AGROAL_JDBC_URL, Configuration.getConfig().getConfigValue("kc.db-url").getValue());
              properties.setProperty(ReloadDataSourceUtil.AGROAL_USERNAME, Configuration.getConfig().getConfigValue("kc.db-username").getValue());
              properties.setProperty(ReloadDataSourceUtil.AGROAL_PASSWORD, Configuration.getConfig().getConfigValue("kc.db-password").getValue());
      
              io.agroal.pool.DataSource dataSource = (io.agroal.pool.DataSource) Arc.container().instance(AgroalDataSource.class).get();
              dataSource.reloadDataSourceWithNewCredentials(properties, AgroalDataSource.FlushMode.ALL); 

            lbarreiro-1 Luis Barreiro
            liubagha Liuba G
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: