Package tigase.db.beans
Class MDRepositoryBeanWithStatistics<T extends DataSourceAware>
- java.lang.Object
-
- tigase.db.beans.MDRepositoryBean<T>
-
- tigase.db.beans.MDRepositoryBeanWithStatistics<T>
-
- All Implemented Interfaces:
Initializable
,RegistrarBean
,RegistrarBeanWithDefaultBeanClass
,UnregisterAware
,ComponentStatisticsProvider
,StatisticsProviderIfc
- Direct Known Subclasses:
CounterDataLoggerRepoBean
,MsgBroadcastRepository.MsgBroadcastRepositoryBean
,MsgRepository.MsgRepositoryMDBean
,RepoPool
,SeeOtherHostDualIP.DualIPRepositoryWrapper
public abstract class MDRepositoryBeanWithStatistics<T extends DataSourceAware> extends MDRepositoryBean<T> implements ComponentStatisticsProvider
Extended version of MDRepositoryBean class with support for statistics gathering.
Created by andrzej on 15.12.2016.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class tigase.db.beans.MDRepositoryBean
MDRepositoryBean.MDRepositoryConfigBean<A extends DataSourceAware>, MDRepositoryBean.SelectorType
-
-
Field Summary
-
Fields inherited from class tigase.db.beans.MDRepositoryBean
aliases, dataSourceSelection
-
-
Constructor Summary
Constructors Constructor Description MDRepositoryBeanWithStatistics(java.lang.Class<?>... repoClazz)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
everyHour()
void
everyMinute()
void
everySecond()
protected java.util.Map<java.lang.String,T>
getRepositories()
Provides access to unmodifiable map domain to repository instanceprotected T
getRepository(java.lang.String domain)
Provides repository instance for passed domain namevoid
getStatistics(java.lang.String compName, StatisticsList list)
void
setStatisticsEnabled(boolean value)
protected void
updateDataSourceAware(java.lang.String domain, T newRepo, T oldRepo)
Method called when repository instance for domain changes.void
wrapInProxy(java.lang.String name, T repo)
-
Methods inherited from class tigase.db.beans.MDRepositoryBean
beforeUnregister, findClassForDataSource, getName, initialize, initializeRepository, onDataSourceChange, register, registerIfNotExists, repositoriesStream, setDataSourceBean, unregister
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.stats.ComponentStatisticsProvider
belongsTo
-
Methods inherited from interface tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
getDefaultBeanClass
-
-
-
-
Method Detail
-
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
public void getStatistics(java.lang.String compName, StatisticsList list)
- Specified by:
getStatistics
in interfaceStatisticsProviderIfc
-
setStatisticsEnabled
public void setStatisticsEnabled(boolean value)
-
wrapInProxy
public void wrapInProxy(java.lang.String name, T repo)
-
getRepository
protected T getRepository(java.lang.String domain)
Description copied from class:MDRepositoryBean
Provides repository instance for passed domain name- Overrides:
getRepository
in classMDRepositoryBean<T extends DataSourceAware>
- Returns:
- instance of repository
-
getRepositories
protected java.util.Map<java.lang.String,T> getRepositories()
Description copied from class:MDRepositoryBean
Provides access to unmodifiable map domain to repository instance- Overrides:
getRepositories
in classMDRepositoryBean<T extends DataSourceAware>
- Returns:
- map of domain to repository instance
-
updateDataSourceAware
protected void updateDataSourceAware(java.lang.String domain, T newRepo, T oldRepo)
Description copied from class:MDRepositoryBean
Method called when repository instance for domain changes.- Overrides:
updateDataSourceAware
in classMDRepositoryBean<T extends DataSourceAware>
- Parameters:
domain
- name of domainnewRepo
- new instance of repositoryoldRepo
- old instance of repository
-
-