Я предлагаю это здесь, чтобы убедиться, что кто-то еще, ищущий совета, знает об окончательном решении этого вопроса:
Если вы вынуждены использовать не связанную версию диспетчера персистентности (поскольку старый репозиторий по-прежнему использует ту структуру, которая несовместима с компоновкой в комплекте), то здесь вы можете сделать довольно простое решение:
Скачать исходники для Jackrabbit Core (вы можете получить их с сайта Jackrabbit)
Откройте класс OraclePersistenceManager и найдите следующую строку кода:
Object blob = createTemporary.invoke(null,
new Object[]{con, Boolean.FALSE, durationSessionConstant});
(Вокруг строки 377 - также можете проверить StackTrace для справки)
ConnectionFactory содержит статический метод, который позволяет развернуть соединение, которое именно то, что вам нужно:
Object blob = createTemporary.invoke(null,
new Object[]{org.apache.jackrabbit.core.util.db.ConnectionFactory
.unwrap(con), Boolean.FALSE, durationSessionConstant});
Вам понадобится Maven 2+, чтобы скомпилировать исходники, я сделал это и у меня не было проблем с зависимостями, обратите внимание, что я скомпилировал версию 2.2.10 Jackrabbit.
Я также удостоверился, что зарегистрировал ошибку против Jackrabbit 2.2.11 (текущий выпуск, который все еще имеет проблему):
https://issues.apache.org/jira/browse/JCR-3262
Надеюсь, это поможет!