Apache Karaf 4.2.5: сбой запуска после неожиданной перезагрузки VM-сервера (развертывание функции пропущено)
У меня есть Karaf 4.2.5, работающий с некоторыми верблюжьими пакетами, развернутыми в нем. Все работает нормально, но в случае неожиданной перезагрузки VM-сервера (и автоматического запуска karaf) у меня возникают проблемы с верблюжьими маршрутами во время запуска, так как мой источник данных ops4j не зарегистрирован, и мои верблюжьи маршруты зависят от него.
Я сравнил журналы запуска и выяснил, что в случае запуска после неожиданной перезагрузки виртуальной машины Караф считает, что развертывание моей функции уже завершено.
В нормальной ситуации запуска (после корректного завершения работы karaf) karaf записывает:
| INFO | activator-1-thread-2 | FeaturesServiceImpl | 11 - org.apache.karaf.features.core - 4.2.5 | Adding features: 68b027bb-774c-45d8-9e7a-263a67dcc36f/[0,0.0.0]
и затем начните развертывать все виды функций, включая регистрацию источника данных ops4j, от которого зависят мои маршруты.
Однако в другом случае одна из первых записей журнала выглядит так:
| INFO | activator-1-thread-2 | Activator | 125 - org.apache.karaf.deployer.features - 4.2.5 | Deployment finished. Registering FeatureDeploymentListener
И полностью пропускает этап установки функции.
Кто-нибудь знает, как Караф считает, что развертывание завершено, а его нет? Это потому, что karaf был неожиданно остановлен, а некоторые директории tmp / cache были очищены неправильно? Если да, как я могу решить эту проблему? Кажется, если я изящно выключаю karaf после этого ошибочного запуска, а затем перезагружаюсь, он запускается нормально.
На мой взгляд, это должно быть связано с тем, что Караф не может выполнить свою логику "выключения".
Надеюсь, кто-нибудь может помочь! Спасибо!