Class 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