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 Classes Modifier and Type Class Description static classDataSourceBean.DataSourceChangedEventstatic classDataSourceBean.DataSourceMDConfigBean
-
Field Summary
-
Fields inherited from class tigase.db.beans.MDPoolBean
POOL_CLASS, POOL_SIZE, REPO_CLASS, REPO_URI
-
-
Constructor Summary
Constructors Constructor Description DataSourceBean()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRepo(java.lang.String domain, DataSource repo)Add data source instance to the poolprotected java.util.concurrent.ScheduledFutureaddWatchdogTask(java.lang.Runnable task, java.time.Duration frequency)booleanbelongsTo(java.lang.Class<? extends BasicComponent> component)voideveryHour()voideveryMinute()voideverySecond()java.lang.Class<? extends DataSourceBean.DataSourceMDConfigBean>getConfigClass()Returns per domain configuration classjava.util.Set<java.lang.String>getDataSourceNames()Retrieve list of all available data source namesjava.lang.Class<?>getDefaultBeanClass()Returns default class for all bean which are defined using configuration as subbeans of bean implementing this interface.DataSourcegetRepository(java.lang.String name)Retrieves data source for provided namevoidgetStatistics(java.lang.String compName, StatisticsList list)DataSourceremoveRepo(java.lang.String domain)Remove data source from the poolprotected voidremoveWatchdogTask(java.util.concurrent.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
-
-
-
-
Method Detail
-
getRepository
public DataSource getRepository(java.lang.String name)
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
public java.lang.Class<? extends DataSourceBean.DataSourceMDConfigBean> getConfigClass()
Description copied from class:MDPoolBeanReturns per domain configuration class- Specified by:
getConfigClassin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean>- Returns:
- class
-
addRepo
public void addRepo(java.lang.String domain, DataSource repo)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
public DataSource removeRepo(java.lang.String domain)
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
public java.util.Set<java.lang.String> getDataSourceNames()
Retrieve list of all available data source names- Returns:
- list of names
-
setDefault
public void setDefault(DataSource repo)
Description copied from class:MDPoolBeanMethod called to set default repo instance.- Specified by:
setDefaultin classMDPoolBean<DataSource,DataSourceBean.DataSourceMDConfigBean>- Parameters:
repo- instance of repo
-
belongsTo
public boolean belongsTo(java.lang.Class<? extends BasicComponent> component)
- 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
public void getStatistics(java.lang.String compName, StatisticsList list)- Specified by:
getStatisticsin interfaceStatisticsProviderIfc
-
getDefaultBeanClass
public java.lang.Class<?> 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
protected java.util.concurrent.ScheduledFuture addWatchdogTask(java.lang.Runnable task, java.time.Duration frequency)
-
removeWatchdogTask
protected void removeWatchdogTask(java.util.concurrent.ScheduledFuture scheduledFuture)
-
-