Class RepositoryInitializationHandler

java.lang.Object
org.nuxeo.ecm.core.repository.RepositoryInitializationHandler
Direct Known Subclasses:
DocumentStoreManager, RepositoryInitializationListener, RouteModelsInitializator

public abstract class RepositoryInitializationHandler extends Object
A repository initialization handler is responsible for initializing a repository content.

The handler is called each time a repository is opened in a JVM session. This can be used to create a default structure for the repository.

To register a repository initializer MyInitHandler you should do:

RepositoryInitializationHandler.setInstance(new MyInitHandler());

If you want to create an initialization chain you can implement to delegate to the parent handle the default initialization and then to do your specific initialization stuff

 
 RepositoryInitializationHandler parentHandler = RepositoryInitializationHandler.getInstance();
 MyInitHandler myHandler = new MyInitHandler(parentHandler);
 RepositoryInitializationHandler.setInstance(myHandler);
 ...
 class MyHandler extends RepositoryInitializationHandler {
      ...
      public initializeRepository(CoreSession session) {
        if (parentHandler != null) parentHandler.initializeRepository(session);
        // do my own initialization here
        ...
      }
      ...
 }
 
 

Important Note: Use the given session to initialize the repository. Do not create other repository sessions when initializing the repository to avoid dead locks.

Author:
Bogdan Stefanescu