@Singleton public class DataSources extends Object
AgroalDataSource.
It isn't a CDI producer in the literal sense, but it created a synthetic bean
from AgroalProcessor
The createDataSource method is called at runtime (see
AgroalRecorder.agroalDataSourceSupplier(String, DataSourcesRuntimeConfig))
in order to produce the actual AgroalDataSource objects.
| Constructor and Description |
|---|
DataSources(DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig,
DataSourcesRuntimeConfig dataSourcesRuntimeConfig,
DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig,
DataSourcesJdbcRuntimeConfig dataSourcesJdbcRuntimeConfig,
LegacyDataSourcesJdbcBuildTimeConfig legacyDataSourcesJdbcBuildTimeConfig,
LegacyDataSourcesRuntimeConfig legacyDataSourcesRuntimeConfig,
LegacyDataSourcesJdbcRuntimeConfig legacyDataSourcesJdbcRuntimeConfig,
TransactionManager transactionManager,
TransactionSynchronizationRegistry transactionSynchronizationRegistry,
DataSourceSupport dataSourceSupport,
javax.enterprise.inject.Instance<io.agroal.api.AgroalPoolInterceptor> agroalPoolInterceptors) |
public DataSources(DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig, DataSourcesRuntimeConfig dataSourcesRuntimeConfig, DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig, DataSourcesJdbcRuntimeConfig dataSourcesJdbcRuntimeConfig, LegacyDataSourcesJdbcBuildTimeConfig legacyDataSourcesJdbcBuildTimeConfig, LegacyDataSourcesRuntimeConfig legacyDataSourcesRuntimeConfig, LegacyDataSourcesJdbcRuntimeConfig legacyDataSourcesJdbcRuntimeConfig, TransactionManager transactionManager, TransactionSynchronizationRegistry transactionSynchronizationRegistry, DataSourceSupport dataSourceSupport, @Any javax.enterprise.inject.Instance<io.agroal.api.AgroalPoolInterceptor> agroalPoolInterceptors)
public static io.agroal.api.AgroalDataSource fromName(String dataSourceName)
Datasource.
In such using Arc.container.instance(DataSource.class) is not possible because
Datasource is itself a synthetic bean.
This method relies on the fact that DataSources should - given the same input -
always return the same AgroalDataSource no matter how many times it is invoked
(which makes sense because DataSource is a Singleton bean).
This method is thread-safe
public io.agroal.api.AgroalDataSource getDataSource(String dataSourceName)
public io.agroal.api.AgroalDataSource doCreateDataSource(String dataSourceName)
public DataSourceBuildTimeConfig getDataSourceBuildTimeConfig(String dataSourceName)
public DataSourceJdbcBuildTimeConfig getDataSourceJdbcBuildTimeConfig(String dataSourceName)
public DataSourceRuntimeConfig getDataSourceRuntimeConfig(String dataSourceName)
public DataSourceJdbcRuntimeConfig getDataSourceJdbcRuntimeConfig(String dataSourceName)
public LegacyDataSourceJdbcBuildTimeConfig getLegacyDataSourceJdbcBuildTimeConfig(String dataSourceName)
public LegacyDataSourceRuntimeConfig getLegacyDataSourceRuntimeConfig(String dataSourceName)
public LegacyDataSourceJdbcRuntimeConfig getLegacyDataSourceJdbcRuntimeConfig(String dataSourceName)
@PreDestroy public void stop()
Copyright © 2020 JBoss by Red Hat. All rights reserved.