У меня очень странная проблема (или возможная ошибка) в моей настройке.Я пытаюсь достичь приложения Spring Boot со встроенным Camunda BPMN Engine в одном военном файле.Этот файл войны должен быть развернут на Tomcat.Я получил все и работает, и двигатель работал нормально.Моя проблема начинается, когда я пытаюсь удалить файл войны.Теперь каким-то образом механизм camunda сохраняет блокировку файла для определений развернутого процесса (= bpmn-файлов), и tomcat не может должным образом удалить файл war.
Что особенного в моих настройках, так это то, что я запускаю camundaДвижок чисто путем настройки приложения application.properties Spring BootЭто означает, что не существует класса @Config
, который содержит аннотацию @EnableProcessApplication
.Причина этого в том, что мы хотим отключить Camunda Engine в некоторых ветках проекта, в то время как в других он должен работать.Это было бы проще, если в каждом проекте необходимо настроить только application.properties.
Моя настройка:
- Tomcat 9.0.13
- Spring Boot 2.1.2
- camunda-bpm-spring-boot-starter 3.2.1
- Java 1.8.0_191
Что я уже пробовал:
- Я изменил базу данных под капотом Camundas с MariaDB 10.3.11 на H2 без каких-либо изменений в поведении.Я получил эту идею от https://forum.camunda.org/t/new-installation-of-camunda-fails-to-start-on-second-try/5863
- У меня есть несколько настроек application.properties, включая:
camunda.bpm.application.delete-upon-undeploy=true
camunda.bpm.database.jdbcBatchProcessing=false
camunda.bpm.job-execution.enabled=false
camunda.bpm.scan-for-process-definitions=false
camunda.bpm.deploy-changed-only=true
camunda.bpm.auto-deployment-enabled=false
это фактически решило проблему, но это не желаемое поведение.Но, по крайней мере, я решил, что это как-то связано с автоматическим развертыванием.
- После теста, чтобы деактивировать автоматическое развертывание, я пришел к идее проверить, развернуть ли некоторые ресурсы вручную и проверить, если этотакже вызывает блокировку файла.И теперь это становится действительно странным: это не вызывает блокировку файла!Почему ????
- Моим последним тестом было чисто безнадежное, и я попытался снова ввести
@EnableProcessApplication
, и вы знаете, что: Это также решает проблему.Но почему???Я не могу придумать правильного объяснения, кроме ошибки в камунде.
Может ли кто-нибудь (возможно, из команды Камунда) объяснить мне это поведение?Сейчас я буду придерживаться аннотации @EnableProcessApplication, но я надеялся на решение без него.Или это было даже для запуска двигателя без аннотации?