Package io.quarkus.agroal.runtime
Class DataSources
- java.lang.Object
-
- io.quarkus.agroal.runtime.DataSources
-
@Singleton public class DataSources extends Object
This class is sort of a producer forAgroalDataSource.It isn't a CDI producer in the literal sense, but it created a synthetic bean from
AgroalProcessorThecreateDataSourcemethod is called at runtime (seeAgroalRecorder.agroalDataSourceSupplier(String, DataSourcesRuntimeConfig)) in order to produce the actualAgroalDataSourceobjects.
-
-
Field Summary
Fields Modifier and Type Field Description static StringTRACING_DRIVER_CLASSNAME
-
Constructor Summary
Constructors Constructor Description DataSources(DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig, DataSourcesRuntimeConfig dataSourcesRuntimeConfig, DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig, DataSourcesJdbcRuntimeConfig dataSourcesJdbcRuntimeConfig, TransactionManagerConfiguration transactionRuntimeConfig, jakarta.transaction.TransactionManager transactionManager, org.jboss.tm.XAResourceRecoveryRegistry xaResourceRecoveryRegistry, jakarta.transaction.TransactionSynchronizationRegistry transactionSynchronizationRegistry, DataSourceSupport dataSourceSupport, jakarta.enterprise.inject.Instance<io.agroal.api.AgroalPoolInterceptor> agroalPoolInterceptors, jakarta.enterprise.inject.Instance<AgroalOpenTelemetryWrapper> agroalOpenTelemetryWrapper)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description io.agroal.api.AgroalDataSourcedoCreateDataSource(String dataSourceName)static io.agroal.api.AgroalDataSourcefromName(String dataSourceName)Deprecated.This method should not be used as it can very easily lead to timing issues during bean creationio.agroal.api.AgroalDataSourcegetDataSource(String dataSourceName)voidstop()
-
-
-
Field Detail
-
TRACING_DRIVER_CLASSNAME
public static final String TRACING_DRIVER_CLASSNAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DataSources
public DataSources(DataSourcesBuildTimeConfig dataSourcesBuildTimeConfig, DataSourcesRuntimeConfig dataSourcesRuntimeConfig, DataSourcesJdbcBuildTimeConfig dataSourcesJdbcBuildTimeConfig, DataSourcesJdbcRuntimeConfig dataSourcesJdbcRuntimeConfig, TransactionManagerConfiguration transactionRuntimeConfig, jakarta.transaction.TransactionManager transactionManager, org.jboss.tm.XAResourceRecoveryRegistry xaResourceRecoveryRegistry, jakarta.transaction.TransactionSynchronizationRegistry transactionSynchronizationRegistry, DataSourceSupport dataSourceSupport, @Any jakarta.enterprise.inject.Instance<io.agroal.api.AgroalPoolInterceptor> agroalPoolInterceptors, jakarta.enterprise.inject.Instance<AgroalOpenTelemetryWrapper> agroalOpenTelemetryWrapper)
-
-
Method Detail
-
fromName
@Deprecated public static io.agroal.api.AgroalDataSource fromName(String dataSourceName)
Deprecated.This method should not be used as it can very easily lead to timing issues during bean creationMeant to be used from recorders that create synthetic beans that need access toDatasource. In such usingArc.container.instance(DataSource.class)is not possible becauseDatasourceis itself a synthetic bean.This method relies on the fact that
DataSourcesshould - given the same input - always return the sameAgroalDataSourceno matter how many times it is invoked (which makes sense becauseDataSourceis aSingletonbean).This method is thread-safe
-
getDataSource
public io.agroal.api.AgroalDataSource getDataSource(String dataSourceName)
-
doCreateDataSource
public io.agroal.api.AgroalDataSource doCreateDataSource(String dataSourceName)
-
stop
@PreDestroy public void stop()
-
-