Package tigase.db
Interface DataSource
- All Superinterfaces:
Repository
- All Known Subinterfaces:
DataRepository
,DataSourcePool<T>
- All Known Implementing Classes:
DataRepoPool
,DataRepositoryImpl
,DataRepositoryPool
,DummyRepository
,SchemaManager.DataSourceInfo
,XMLDataSource
Interface implemented by every class providing access to data storage, ie. databases, files, key-value stores.
Created by andrzej on 09.03.2016.
Created by andrzej on 09.03.2016.
-
Nested Class Summary
Nested classes/interfaces inherited from interface tigase.db.Repository
Repository.Meta, Repository.SchemaId
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
default void
checkConnectivity
(Duration watchdogTime) This method is called by data source bean watchdog mechanism to ensure that there is proper connectivity to underlying data storage.default boolean
checkSchemaVersion
(DataSourceAware<? extends DataSource> datasource, boolean shutdownServer) Method checks version of the particular DataSource stored in the defined source.Returns a DB connection string or DB connection URI.getSchemaVersion
(String component) Method obtains version of the schema for particular component stored in the database.void
initialize
(String resource_uri) The method is called to initialize the data repository.Methods inherited from interface tigase.db.Repository
initRepository
-
Field Details
-
log
-
-
Method Details
-
checkConnectivity
This method is called by data source bean watchdog mechanism to ensure that there is proper connectivity to underlying data storage.- Parameters:
watchdogTime
- time which should pass between checks
-
checkSchemaVersion
default boolean checkSchemaVersion(DataSourceAware<? extends DataSource> datasource, boolean shutdownServer) Method checks version of the particular DataSource stored in the defined source.- Parameters:
datasource
- implementation ofDataSourceAware
interfaceshutdownServer
- specifies whether server should be shutdown automatically if the version in the database doesn't match required version.- Returns:
- a
false
when the version doesn't match or there is no version information in the repository. ifshutdownServer
is set totrue
and the component version is final it would force shutting down of the server, otherwise (for non-final version) only a warning would be printed.
-
automaticSchemaManagement
default boolean automaticSchemaManagement() -
getSchemaVersion
Method obtains version of the schema for particular component stored in the database.- Parameters:
component
- name of the component for which we want to get the schema version- Returns:
- an optional value of the version.
-
getResourceUri
String getResourceUri()Returns a DB connection string or DB connection URI.- Returns:
- a
String
value representing database connection string.
-
initialize
The method is called to initialize the data repository.- Parameters:
resource_uri
- value in most cases representing the database connection string.- Throws:
RepositoryException
- if there was an error during initialization of data source. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying data source it may not be signaled through this method call.
-