Class DatasourceConfiguration

java.lang.Object
io.micronaut.configuration.jdbc.ucp.DatasourceConfiguration
All Implemented Interfaces:
BasicJdbcConfiguration

@EachProperty(value="datasources", primary="default") @Context public class DatasourceConfiguration extends Object implements BasicJdbcConfiguration
Allows the configuration of UCP JDBC data sources. All properties on PoolDataSourceImpl are available to be configured.

If the url, driver class, validation sql query, username, or password are missing, sensible defaults will be provided when possible. If no configuration beyond the datasource name is provided, an in memory datasource will be configured based on the available drivers on the classpath.

Since:
2.0.1
Author:
toddsharp
  • Constructor Details

    • DatasourceConfiguration

      public DatasourceConfiguration(@Parameter String name, io.micronaut.context.env.Environment environment) throws SQLException
      Constructor.
      Parameters:
      name - name that comes from properties
      environment - The Micronaut Environment
      Throws:
      SQLException
  • Method Details

    • getPoolDataSource

      public oracle.ucp.jdbc.PoolDataSource getPoolDataSource()
      Returns:
      the pool data source, a PoolXADataSource when XA is enabled
      Since:
      4.1
    • isXa

      public boolean isXa()
      Returns:
      whether the pool is an XA pool, whose connection factory class is an XADataSource
      Since:
      7.3.0
    • setXa

      public void setXa(boolean xa)
      Whether to pool XA connections, for a transaction manager that enlists them in global transactions. The connection factory class must then be an XADataSource, such as oracle.jdbc.xa.client.OracleXADataSource. Defaults to false. The pool type is chosen when the data source is created, so a refresh cannot change it.
      Parameters:
      xa - Whether the pool is an XA pool
      Since:
      7.3.0
    • getName

      public String getName()
      Specified by:
      getName in interface BasicJdbcConfiguration
      Returns:
      A user provided name to identify the datasource
    • setName

      public void setName(String name) throws SQLException
      Parameters:
      name - the name of the datasource
      Throws:
      SQLException - an sql exception
    • getDriverClassName

      public String getDriverClassName()
      Specified by:
      getDriverClassName in interface BasicJdbcConfiguration
      Returns:
      The driver class name to be used by the data source
    • setDriverClassName

      public void setDriverClassName(String driverClassName)
      Specified by:
      setDriverClassName in interface BasicJdbcConfiguration
      Parameters:
      driverClassName - Sets the driver class name
    • getConfiguredDriverClassName

      public String getConfiguredDriverClassName()
      Specified by:
      getConfiguredDriverClassName in interface BasicJdbcConfiguration
      Returns:
      The driver class name supplied via configuration
    • getConfiguredUrl

      public String getConfiguredUrl()
      Specified by:
      getConfiguredUrl in interface BasicJdbcConfiguration
      Returns:
      The URL supplied via configuration
    • getUrl

      public String getUrl()
      Specified by:
      getUrl in interface BasicJdbcConfiguration
      Returns:
      The URL to be used by the data source
    • setUrl

      public void setUrl(String url)
      Specified by:
      setUrl in interface BasicJdbcConfiguration
      Parameters:
      url - Sets the url
    • getUsername

      public @Nullable String getUsername()
      Specified by:
      getUsername in interface BasicJdbcConfiguration
      Returns:
      The username to be used by the data source
    • setUsername

      public void setUsername(@Nullable String username)
      Specified by:
      setUsername in interface BasicJdbcConfiguration
      Parameters:
      username - the username
    • getConfiguredUsername

      public String getConfiguredUsername()
      Specified by:
      getConfiguredUsername in interface BasicJdbcConfiguration
      Returns:
      The username supplied via configuration
    • getPassword

      public @Nullable String getPassword()
      Specified by:
      getPassword in interface BasicJdbcConfiguration
      Returns:
      The password to be used by the data source
    • setPassword

      public void setPassword(@Nullable String password)
      Specified by:
      setPassword in interface BasicJdbcConfiguration
      Parameters:
      password - Sets the password
    • getConfiguredPassword

      public @Nullable String getConfiguredPassword()
      Specified by:
      getConfiguredPassword in interface BasicJdbcConfiguration
      Returns:
      The password supplied via configuration
    • getValidationQuery

      public @Nullable String getValidationQuery()
      Specified by:
      getValidationQuery in interface BasicJdbcConfiguration
      Returns:
      The validation query to be used by the data source
    • setValidationQuery

      public void setValidationQuery(String validationQuery)
      Sets the validation query.
      Parameters:
      validationQuery - The validation query
    • setOnsConfiguration

      public void setOnsConfiguration(String onsConfiguration)
      Sets the ONS configuration of Fast Connection Failover. It makes ons-configuration and onsConfiguration bind as well as onsconfiguration, the key of the UCP setter setONSConfiguration.
      Parameters:
      onsConfiguration - The ONS configuration
      Since:
      7.3.0
    • setDataSourceProperties

      public void setDataSourceProperties(@MapFormat(transformation=FLAT,keyFormat=RAW) Map<String,?> dsProperties)
      Description copied from interface: BasicJdbcConfiguration
      Sets the datasource properties.
      Specified by:
      setDataSourceProperties in interface BasicJdbcConfiguration
      Parameters:
      dsProperties - The properties
    • getConfiguredValidationQuery

      public String getConfiguredValidationQuery()
      Specified by:
      getConfiguredValidationQuery in interface BasicJdbcConfiguration
      Returns:
      The validation query supplied via configuration
    • initialize

      @PostConstruct public void initialize()
      Configures the missing properties of the data source from the calculated settings.
      Since:
      4.0.2