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.