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
Modifier and TypeClassDescriptionstatic class
static class
-
Field Summary
Fields inherited from class tigase.db.beans.MDPoolBean
POOL_CLASS, POOL_SIZE, REPO_CLASS, REPO_URI
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addRepo
(String domain, DataSource repo) Add data source instance to the poolprotected ScheduledFuture
addWatchdogTask
(Runnable task, Duration frequency) boolean
belongsTo
(Class<? extends BasicComponent> component) void
void
void
Class<? 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 namevoid
getStatistics
(String compName, StatisticsList list) removeRepo
(String domain) Remove data source from the poolprotected void
removeWatchdogTask
(ScheduledFuture scheduledFuture) void
setDefault
(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:MDPoolBean
Returns per domain configuration class- Specified by:
getConfigClass
in classMDPoolBean<DataSource,
DataSourceBean.DataSourceMDConfigBean> - Returns:
- class
-
addRepo
Add data source instance to the pool- Specified by:
addRepo
in classMDPoolBean<DataSource,
DataSourceBean.DataSourceMDConfigBean> - Parameters:
domain
- name of data sourcerepo
- instance of data source
-
removeRepo
Remove data source from the pool- Specified by:
removeRepo
in 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:MDPoolBean
Method called to set default repo instance.- Specified by:
setDefault
in classMDPoolBean<DataSource,
DataSourceBean.DataSourceMDConfigBean> - Parameters:
repo
- instance of repo
-
belongsTo
- Specified by:
belongsTo
in interfaceComponentStatisticsProvider
-
everyHour
public void everyHour()- Specified by:
everyHour
in interfaceComponentStatisticsProvider
-
everyMinute
public void everyMinute()- Specified by:
everyMinute
in interfaceComponentStatisticsProvider
-
everySecond
public void everySecond()- Specified by:
everySecond
in interfaceComponentStatisticsProvider
-
getStatistics
- Specified by:
getStatistics
in interfaceStatisticsProviderIfc
-
getDefaultBeanClass
Description copied from interface:RegistrarBeanWithDefaultBeanClass
Returns 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:
getDefaultBeanClass
in interfaceRegistrarBeanWithDefaultBeanClass
-
addWatchdogTask
-
removeWatchdogTask
-