Package org.nuxeo.ecm.core.repository
Class RepositoryService
java.lang.Object
org.nuxeo.runtime.model.DefaultComponent
org.nuxeo.ecm.core.repository.RepositoryService
- All Implemented Interfaces:
Adaptable
,Component
,Extensible
,TimestampedService
Component and service managing low-level repository instances.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
protected class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Duration
static final String
static final ComponentName
protected PoolConfiguration
protected static final Map<String,
ThreadLocal<Session>> Thread-local sessions allocated, per repository.static final String
Fields inherited from class org.nuxeo.runtime.model.DefaultComponent
lastModified, name
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
createRepository
(String repositoryName, RepositoryFactory factory) protected void
Creates all the repositories.protected void
Initializes all the repositories.int
int
getActiveSessionsCount
(String repositoryName) <T> T
getAdapter
(Class<T> adapter) Returns an object which is an instance of the given class associated with this object.int
The component notification order forComponent.start(ComponentContext)
.protected RepositoryFactory
getFactory
(String repositoryName) org.apache.commons.pool2.impl.GenericKeyedObjectPool<String,
?> getPool()
getRepository
(String repositoryName) Gets a repository given its name.getSession
(String repositoryName) Gets a session.protected Session
getSessionFromPool
(String repositoryName, Runnable cleanup) protected void
initializeRepository
(RepositoryInitializationHandler handler, String name) protected void
initPool()
protected void
void
Start a tx and initialize repositories content.void
void
shutdown()
protected void
void
start
(ComponentContext context) Start the component.void
stop
(ComponentContext context) Stop the component.Methods inherited from class org.nuxeo.runtime.model.DefaultComponent
activate, addRuntimeMessage, addRuntimeMessage, deactivate, getDescriptor, getDescriptors, getLastModified, getRegistry, register, registerContribution, registerExtension, setLastModified, setModifiedNow, setName, unregister, unregisterContribution, unregisterExtension
-
Field Details
-
NAME
-
CLUSTER_START_DURATION_PROP
- Since:
- 11.1
- See Also:
-
CLUSTER_START_DURATION_DEFAULT
- Since:
- 11.1
-
XP_REPOSITORY
- See Also:
-
basePool
-
poolConfig
-
pool
-
SESSIONS
Thread-local sessions allocated, per repository.
-
-
Constructor Details
-
RepositoryService
public RepositoryService()
-
-
Method Details
-
shutdown
public void shutdown() -
getApplicationStartedOrder
public int getApplicationStartedOrder()Description copied from interface:Component
The component notification order forComponent.start(ComponentContext)
.Components are notified in increasing order. Order 1000 is the default order for components that don't care. Order 100 is the repository initialization.
- Returns:
- the order, 1000 by default
-
start
Description copied from interface:Component
Start the component. This method is called after all the components were resolved and activated- Specified by:
start
in interfaceComponent
- Overrides:
start
in classDefaultComponent
-
stop
Description copied from interface:Component
Stop the component.- Specified by:
stop
in interfaceComponent
- Overrides:
stop
in classDefaultComponent
-
initPoolConfig
protected void initPoolConfig() -
initPool
protected void initPool() -
shutdownPool
protected void shutdownPool() -
resetPool
public void resetPool() -
getPool
-
initRepositories
public void initRepositories()Start a tx and initialize repositories content. This method is publicly exposed since it is needed by tests to initialize repositories after cleanups (see CoreFeature).- Since:
- 8.4
-
doCreateRepositories
protected void doCreateRepositories()Creates all the repositories. Requires an active transaction.- Since:
- 9.3
-
createRepository
-
doInitRepositories
protected void doInitRepositories()Initializes all the repositories. Requires an active transaction.- Since:
- 9.3
-
getAdapter
Description copied from interface:Adaptable
Returns an object which is an instance of the given class associated with this object. Returnsnull
if no such object can be found.- Specified by:
getAdapter
in interfaceAdaptable
- Overrides:
getAdapter
in classDefaultComponent
- Parameters:
adapter
- the adapter class to look up- Returns:
- a object castable to the given class, or
null
if this object does not have an adapter for the given class
-
initializeRepository
-
getRepository
Gets a repository given its name.Null is returned if no repository with that name was registered.
- Parameters:
repositoryName
- the repository name- Returns:
- the repository instance or null if no repository with that name was registered
-
getFactory
-
getRepositoryNames
-
getActiveSessionsCount
public int getActiveSessionsCount() -
getActiveSessionsCount
-
getSession
Gets a session.The session is first looked up in the current transaction, otherwise fetched from a pool.
- Parameters:
repositoryName
- the repository name- Returns:
- the session
- Since:
- 11.1
-
getSessionFromPool
-