@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,
TransactionManager transactionManager,
TransactionSynchronizationRegistry transactionSynchronizationRegistry,
DataSourceSupport dataSourceSupport,
javax.enterprise.inject.Instance<io.agroal.api.AgroalPoolInterceptor> agroalPoolInterceptors) |
| Modifier and Type | Method and Description |
|---|---|
io.agroal.api.AgroalDataSource |
doCreateDataSource(String dataSourceName) |
static io.agroal.api.AgroalDataSource |
fromName(String dataSourceName)
Meant to be used from recorders that create synthetic beans that need access to
Datasource. |
io.agroal.api.AgroalDataSource |
getDataSource(String dataSourceName) |
DataSourceBuildTimeConfig |
getDataSourceBuildTimeConfig(String dataSourceName) |
DataSourceJdbcBuildTimeConfig |
getDataSourceJdbcBuildTimeConfig(String dataSourceName) |
DataSourceJdbcRuntimeConfig |
getDataSourceJdbcRuntimeConfig(String dataSourceName) |
DataSourceRuntimeConfig |
getDataSourceRuntimeConfig(String dataSourceName) |
void |
stop() |
public DataSources(DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig, DataSourcesRuntimeConfig dataSourcesRuntimeConfig, DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig, DataSourcesJdbcRuntimeConfig dataSourcesJdbcRuntimeConfig, 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)
@PreDestroy public void stop()
Copyright © 2021 JBoss by Red Hat. All rights reserved.