Package tigase.cluster.repo
Class ClConConfigRepository
- All Implemented Interfaces:
Iterable<ClusterRepoItem>,ComponentRepository<ClusterRepoItem>,Repository,Initializable,UnregisterAware,ShutdownHook
- Direct Known Subclasses:
ClConDirRepository,ClConSQLRepository
@ConfigAliases(@ConfigAlias(field="items",alias="cluster-nodes"))
public class ClConConfigRepository
extends ConfigRepository<ClusterRepoItem>
implements ShutdownHook, Initializable, UnregisterAware
- 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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected booleanprotected longprotected longFields inherited from class tigase.db.comp.ConfigRepository
autoReloadInterval, items, itemsHashFields inherited from interface tigase.db.comp.ComponentRepository
COMP_REPO_BIND -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidMethod called before bean unregister.voiddestroy()Method destroys this instance of ComponentRepository releasing resources allocated for this instance of ComponentRepository if possibleString[]Creates a new, uninitialized instance of the repository Item.getName()voidMethod will be called, when bean will be created, configured and ready to use.voidinitRepository(String resource_uri, Map<String, String> params) Deprecated.booleanitemChanged(ClusterRepoItem oldItem, ClusterRepoItem newItem) voiditemLoaded(ClusterRepoItem item) voidreload()This method is called to reload items from the database or other permanent storage.protected voidremoveObsoloteItems(long factor) shutdown()voidstoreItem(ClusterRepoItem item) Methods inherited from class tigase.db.comp.ConfigRepository
addItem, addItemNoStore, addRepoChangeListener, allItems, contains, getDefaultItems, getDefaults, getItem, getItemsOld, initItemsMap, isInitialized, iterator, removeItem, removeItemNoStore, removeRepoChangeListener, setAutoloadTimer, setAutoReloadInterval, setItemsOld, setProperties, size, store, toString, validateItemMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
auto_remove_obsolete_items
@ConfigField(desc="Automatically remove obsolote items", alias="repo-auto-remove-obsolete-items") protected boolean auto_remove_obsolete_items -
firstLoadDone
protected boolean firstLoadDone -
lastReloadTime
protected long lastReloadTime -
lastReloadTimeFactor
protected long lastReloadTimeFactor
-
-
Constructor Details
-
ClConConfigRepository
public ClConConfigRepository()
-
-
Method Details
-
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>
-
getDefaultPropetyItems
- Overrides:
getDefaultPropetyItemsin classConfigRepository<ClusterRepoItem>
-
getName
- Specified by:
getNamein interfaceShutdownHook
-
getPropertyKey
- Specified by:
getPropertyKeyin classConfigRepository<ClusterRepoItem>
-
getConfigKey
- Specified by:
getConfigKeyin classConfigRepository<ClusterRepoItem>
-
getItemInstance
Description copied from interface:ComponentRepositoryCreates a new, uninitialized instance of the repository Item.- Specified by:
getItemInstancein interfaceComponentRepository<ClusterRepoItem>- Returns:
- a new, uninitialized instance of the repository Item.
-
initRepository
@Deprecated public void initRepository(String resource_uri, Map<String, 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- Parameters:
resource_uri- 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.
-
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 classConfigRepository<ClusterRepoItem>
-
itemLoaded
-
itemChanged
- Overrides:
itemChangedin classConfigRepository<ClusterRepoItem>
-
shutdown
- Specified by:
shutdownin interfaceShutdownHook
-
storeItem
-
initialize
public void initialize()Description copied from interface:InitializableMethod will be called, when bean will be created, configured and ready to use.- Specified by:
initializein interfaceInitializable- Overrides:
initializein classConfigRepository<ClusterRepoItem>
-
beforeUnregister
public void beforeUnregister()Description copied from interface:UnregisterAwareMethod called before bean unregister.- Specified by:
beforeUnregisterin interfaceUnregisterAware- Overrides:
beforeUnregisterin classConfigRepository<ClusterRepoItem>
-
removeObsoloteItems
protected void removeObsoloteItems(long factor)
-