Package tigase.cluster.repo
Class ClConSQLRepository
- java.lang.Object
-
- tigase.db.comp.ConfigRepository<ClusterRepoItem>
-
- tigase.cluster.repo.ClConConfigRepository
-
- tigase.cluster.repo.ClConSQLRepository
-
- All Implemented Interfaces:
java.lang.Iterable<ClusterRepoItem>,ClusterRepoConstants,ComponentRepository<ClusterRepoItem>,ComponentRepositoryDataSourceAware<ClusterRepoItem,DataRepository>,DataSourceAware<DataRepository>,Repository,RepositoryVersionAware,Initializable,UnregisterAware,ShutdownHook
public class ClConSQLRepository extends ClConConfigRepository implements ClusterRepoConstants, ComponentRepositoryDataSourceAware<ClusterRepoItem,DataRepository>, RepositoryVersionAware
- Version:
- 5.2.0, 13/03/09
- Author:
- Artur Hefczyc
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface tigase.db.Repository
Repository.Meta, Repository.SchemaId
-
Nested classes/interfaces inherited from interface tigase.db.util.RepositoryVersionAware
RepositoryVersionAware.SchemaVersion
-
-
Field Summary
-
Fields inherited from class tigase.cluster.repo.ClConConfigRepository
auto_remove_obsolete_items, firstLoadDone, lastReloadTime, lastReloadTimeFactor
-
Fields inherited from class tigase.db.comp.ConfigRepository
autoReloadInterval, items, itemsHash
-
Fields inherited from interface tigase.cluster.repo.ClusterRepoConstants
CPU_USAGE_COLUMN, HOSTNAME_COLUMN, LASTUPDATE_COLUMN, MEM_USAGE_COLUMN, PASSWORD_COLUMN, PORT_COLUMN, REPO_URI_PROP_KEY, SECONDARY_HOSTNAME_COLUMN, TABLE_NAME
-
Fields inherited from interface tigase.db.comp.ComponentRepository
COMP_REPO_BIND
-
-
Constructor Summary
Constructors Constructor Description ClConSQLRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voiddestroy()Method destroys this instance of ComponentRepository releasing resources allocated for this instance of ComponentRepository if possiblevoidgetDefaults(java.util.Map<java.lang.String,java.lang.Object> defs, java.util.Map<java.lang.String,java.lang.Object> params)Deprecated.voidinitRepository(java.lang.String conn_str, java.util.Map<java.lang.String,java.lang.String> params)Deprecated.voidreload()This method is called to reload items from the database or other permanent storage.voidremoveItem(java.lang.String key)The method is called to remove given Item from the memory cache and permanent storage.voidsetDataSource(DataRepository data_repo)Method called to provide class with instance of a data source.voidsetProperties(java.util.Map<java.lang.String,java.lang.Object> properties)Deprecated.voidstore()The method is called to store all data in the database.voidstoreItem(ClusterRepoItem item)-
Methods inherited from class tigase.cluster.repo.ClConConfigRepository
beforeUnregister, getConfigKey, getDefaultPropetyItems, getItemInstance, getName, getPropertyKey, initialize, itemChanged, itemLoaded, removeObsoloteItems, shutdown
-
Methods inherited from class tigase.db.comp.ConfigRepository
addItem, addItemNoStore, addRepoChangeListener, allItems, contains, getDefaultItems, getItem, getItemsOld, initItemsMap, isInitialized, iterator, removeItemNoStore, removeRepoChangeListener, setAutoloadTimer, setAutoReloadInterval, setItemsOld, size, toString, validateItem
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface tigase.db.comp.ComponentRepository
addItem, addItemNoStore, addRepoChangeListener, allItems, contains, getItem, getItemInstance, removeItemNoStore, removeRepoChangeListener, setAutoloadTimer, size, validateItem
-
Methods inherited from interface tigase.db.util.RepositoryVersionAware
getVersion, updateSchema
-
-
-
-
Method Detail
-
destroy
public void destroy()
Description copied from interface:ComponentRepositoryMethod destroys this instance of ComponentRepository releasing resources allocated for this instance of ComponentRepository if possible- Specified by:
destroyin interfaceComponentRepository<ClusterRepoItem>- Overrides:
destroyin classClConConfigRepository
-
getDefaults
@Deprecated public void getDefaults(java.util.Map<java.lang.String,java.lang.Object> defs, java.util.Map<java.lang.String,java.lang.Object> params)Deprecated.Description copied from interface:ComponentRepositoryThe method is called to obtain default configuration settings if there are any for this repository implementation The configuration settings are implementation dependent and there are no defaults set by the server. Default settings returned by this method are then saved in the configuration file and presented to the admin for further adjustments.- Specified by:
getDefaultsin interfaceComponentRepository<ClusterRepoItem>- Overrides:
getDefaultsin classConfigRepository<ClusterRepoItem>- Parameters:
defs- is aMapcollection where all repository configuration defaults must be put.params- is aMapcollection with some preset properties for the server. These settings can be used to adjust repository defaults, for example they can contain database connection URL or initial list of virtual domains.
-
setDataSource
public void setDataSource(DataRepository data_repo)
Description copied from interface:DataSourceAwareMethod called to provide class with instance of a data source.- Specified by:
setDataSourcein interfaceDataSourceAware<DataRepository>
-
initRepository
@Deprecated public void initRepository(java.lang.String conn_str, java.util.Map<java.lang.String,java.lang.String> params) throws DBInitExceptionDeprecated.Description copied from interface:RepositoryMethod is deprecated and should not be user any more.
The method is called to initialize the data repository. Depending on the implementation all the initialization parameters can be passed either viaresource_uriparameter as the database connection string or viaparamsmap if the required repository parameters are more complex or both.- Specified by:
initRepositoryin interfaceRepository- Overrides:
initRepositoryin classClConConfigRepository- Parameters:
conn_str- value in most cases representing the database connection string.params- is aMapwith repository properties necessary to initialize and perform all the functions. The initialization parameters are implementation dependent.- Throws:
DBInitException- if there was an error during repository initialization. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying repository it may not be signaled through this method call.
-
removeItem
public void removeItem(java.lang.String key)
Description copied from interface:ComponentRepositoryThe method is called to remove given Item from the memory cache and permanent storage. After this method is completed the item should no longer be available in the component repository.- Specified by:
removeItemin interfaceComponentRepository<ClusterRepoItem>- Overrides:
removeItemin classConfigRepository<ClusterRepoItem>- Parameters:
key- aStringwith domain name to remove.
-
storeItem
public void storeItem(ClusterRepoItem item)
- Overrides:
storeItemin classClConConfigRepository
-
reload
public void reload()
Description copied from interface:ComponentRepositoryThis method is called to reload items from the database or other permanent storage. It is possible that items list is modified externally by third-party system. When all modifications are done this method is called to refresh the class cache. Whether the implementation load whole list or just last modifications is implementation dependent.- Specified by:
reloadin interfaceComponentRepository<ClusterRepoItem>- Overrides:
reloadin classClConConfigRepository
-
setProperties
@Deprecated public void setProperties(java.util.Map<java.lang.String,java.lang.Object> properties)
Deprecated.Description copied from interface:ComponentRepositoryThe method is called to set configuration for this repository implementation. The configuration is repository implementation dependent. There are no default settings for the repository.- Specified by:
setPropertiesin interfaceComponentRepository<ClusterRepoItem>- Overrides:
setPropertiesin classConfigRepository<ClusterRepoItem>- Parameters:
properties- aMapwith configuration settings. Content of thisMapmust not be modified. This read-only collection.
-
store
public void store()
Description copied from interface:ComponentRepositoryThe method is called to store all data in the database. It is used when the repository has been changed in some way and the changes have to be put to a permanent storage for later retrieval.- Specified by:
storein interfaceComponentRepository<ClusterRepoItem>- Overrides:
storein classConfigRepository<ClusterRepoItem>
-
-