Package tigase.db.beans
Class DataSourceBean
java.lang.Object
tigase.db.beans.MDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean>
tigase.db.beans.DataSourceBean
- All Implemented Interfaces:
RegistrarBean,RegistrarBeanWithDefaultBeanClass,ComponentStatisticsProvider,StatisticsProviderIfc
@Bean(name="dataSource",
parent=Kernel.class,
active=true,
exportable=true)
@ConfigType({DefaultMode,SessionManagerMode,ConnectionManagersMode,ComponentMode})
public class DataSourceBean
extends MDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean>
implements ComponentStatisticsProvider
This is main bean responsible for managing and initialization of data sources. Created by andrzej on 09.03.2016.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Field Summary
Fields inherited from class tigase.db.beans.MDPoolBean
POOL_CLASS, POOL_SIZE, REPO_CLASS, REPO_URI -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRepo(String domain, DataSource repo) Add data source instance to the poolprotected ScheduledFutureaddWatchdogTask(Runnable task, Duration frequency) booleanbelongsTo(Class<? extends BasicComponent> component) voidvoidvoidClass<? extends DataSourceBean.DataSourceMDConfigBean> Returns per domain configuration classRetrieve list of all available data source namesClass<?> Returns default class for all bean which are defined using configuration as subbeans of bean implementing this interface.getRepository(String name) Retrieves data source for provided namevoidgetStatistics(String compName, StatisticsList list) removeRepo(String domain) Remove data source from the poolprotected voidremoveWatchdogTask(ScheduledFuture scheduledFuture) voidsetDefault(DataSource repo) Method called to set default repo instance.Methods inherited from class tigase.db.beans.MDPoolBean
getDefaultAlias, getName, register, registerConfigBean, unregister
-
Constructor Details
-
DataSourceBean
public DataSourceBean()
-
-
Method Details
-
getRepository
Retrieves data source for provided name- Parameters:
name- of data source to retrieve- Returns:
- instance of data source for name or default instance of data source
-
getConfigClass
Description copied from class:MDPoolBeanReturns per domain configuration class- Specified by:
getConfigClassin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean> - Returns:
- class
-
addRepo
Add data source instance to the pool- Specified by:
addRepoin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean> - Parameters:
domain- name of data sourcerepo- instance of data source
-
removeRepo
Remove data source from the pool- Specified by:
removeRepoin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean> - Parameters:
domain- name of data source- Returns:
- removed instance of data source
-
getDataSourceNames
Retrieve list of all available data source names- Returns:
- list of names
-
setDefault
Description copied from class:MDPoolBeanMethod called to set default repo instance.- Specified by:
setDefaultin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean> - Parameters:
repo- instance of repo
-
belongsTo
- Specified by:
belongsToin interfaceComponentStatisticsProvider
-
everyHour
public void everyHour()- Specified by:
everyHourin interfaceComponentStatisticsProvider
-
everyMinute
public void everyMinute()- Specified by:
everyMinutein interfaceComponentStatisticsProvider
-
everySecond
public void everySecond()- Specified by:
everySecondin interfaceComponentStatisticsProvider
-
getStatistics
- Specified by:
getStatisticsin interfaceStatisticsProviderIfc
-
getDefaultBeanClass
Description copied from interface:RegistrarBeanWithDefaultBeanClassReturns default class for all bean which are defined using configuration as subbeans of bean implementing this interface. This allows users to have more convenient configuration file without the need to specify class for each of subbbeans if most of them will have the same class.- Specified by:
getDefaultBeanClassin interfaceRegistrarBeanWithDefaultBeanClass
-
addWatchdogTask
-
removeWatchdogTask
-