Узел Jackrabbit ConflictException уже добавлен в ревизию - PullRequest
0 голосов
/ 30 марта 2020

Я столкнулся со странной проблемой: сбой Spring + OAK + JackRabbit при запуске в пространстве CloudFoundary с ошибкой:

org. apache .jackrabbit.oak.plugins.document.ConflictException: The узел X: / oak: index / nodetype /: index / rep% 3AChildNodeDefinitions / jcr: system / jcr: nodeTypes / rep: NodeType / rep: namedChildNodeDefinitions / rep: namedChildNodeDefinitions уже был добавлен в ревизии

В Inte rnet я обнаружил, что мне нужно очистить таблицу NODE и CLUSTERNODE, прежде чем приложение запустится. У меня вопрос - как это сделать?

  1. Я пробовал ddl.auto = create-drop - он не работает.
  2. Я пытался что-то использовать вот так:
@EventListener(ApplicationReadyEvent.class)
    public void doSomethingAfterStartup() {

        String deleteQuery1 = "delete from oak.public.nodes";
        jdbcTemplateObject.update(deleteQuery1);
        String deleteQuery2 = "delete from oak.public.nodes";
        jdbcTemplateObject.update(deleteQuery2);
    }

... но этот код запускается после начала инициализации JackRabbit. Как я могу очистить таблицы перед Hibernate, RDBD, OAK?

...