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
Modifier and TypeFieldDescriptionprotected boolean
protected boolean
protected long
protected long
Fields inherited from class tigase.db.comp.ConfigRepository
autoReloadInterval, items, itemsHash
Fields inherited from interface tigase.db.comp.ComponentRepository
COMP_REPO_BIND
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Method called before bean unregister.void
destroy()
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()
void
Method will be called, when bean will be created, configured and ready to use.void
initRepository
(String resource_uri, Map<String, String> params) Deprecated.boolean
itemChanged
(ClusterRepoItem oldItem, ClusterRepoItem newItem) void
itemLoaded
(ClusterRepoItem item) void
reload()
This method is called to reload items from the database or other permanent storage.protected void
removeObsoloteItems
(long factor) shutdown()
void
storeItem
(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, validateItem
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:ComponentRepository
Method destroys this instance of ComponentRepository releasing resources allocated for this instance of ComponentRepository if possible- Specified by:
destroy
in interfaceComponentRepository<ClusterRepoItem>
-
getDefaultPropetyItems
- Overrides:
getDefaultPropetyItems
in classConfigRepository<ClusterRepoItem>
-
getName
- Specified by:
getName
in interfaceShutdownHook
-
getPropertyKey
- Specified by:
getPropertyKey
in classConfigRepository<ClusterRepoItem>
-
getConfigKey
- Specified by:
getConfigKey
in classConfigRepository<ClusterRepoItem>
-
getItemInstance
Description copied from interface:ComponentRepository
Creates a new, uninitialized instance of the repository Item.- Specified by:
getItemInstance
in 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:Repository
Method 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_uri
parameter as the database connection string or viaparams
map if the required repository parameters are more complex or both.- Specified by:
initRepository
in interfaceRepository
- Parameters:
resource_uri
- value in most cases representing the database connection string.params
- is aMap
with 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:ComponentRepository
This 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:
reload
in interfaceComponentRepository<ClusterRepoItem>
- Overrides:
reload
in classConfigRepository<ClusterRepoItem>
-
itemLoaded
-
itemChanged
- Overrides:
itemChanged
in classConfigRepository<ClusterRepoItem>
-
shutdown
- Specified by:
shutdown
in interfaceShutdownHook
-
storeItem
-
initialize
public void initialize()Description copied from interface:Initializable
Method will be called, when bean will be created, configured and ready to use.- Specified by:
initialize
in interfaceInitializable
- Overrides:
initialize
in classConfigRepository<ClusterRepoItem>
-
beforeUnregister
public void beforeUnregister()Description copied from interface:UnregisterAware
Method called before bean unregister.- Specified by:
beforeUnregister
in interfaceUnregisterAware
- Overrides:
beforeUnregister
in classConfigRepository<ClusterRepoItem>
-
removeObsoloteItems
protected void removeObsoloteItems(long factor)
-