Добрый день.
Не нашел ничего об этом в документации (не факт что этого там нет, просто не нашел).
Подскажите пожалуйста как удалить описание процесса (не деплой схемы, а именно базовое описание) и зачистить все связанные с ним завершённые экземпляры?
Здравствуйте, @klopotovik!
Согласно документации используя Flowable API описание процесса можно удалить, удалив при этом связанный объект deployment.
Также в документации есть пример на удаление объекта deployment и связанные экземпляры процессов:
// Specify the deployment ID you want to delete
// Replace with your actual deployment ID
String deploymentId = "yourDeploymentId";
// Delete the deployment
// The second parameter indicates whether to cascade delete process instances
repositoryService.deleteDeployment(deploymentId, true);
Значение для переменной deploymentId
можно взять у нужного описания процесса.
Примеры для получения описаний процессов представлены здесь.
С уважением,
Мария.
Спасибо огромное!
То есть, получается, что никуда в админ-модуле “на кнопку” это стандартно не выведено и использовать можно только из стороннего прикладного кода, расширяя, так сказать, коробочный интерфейс аддона своими кнопочками.
Правильно понял? И не планируется?
Действие, вызывающее код по удалению описания процесса вместе с объектом deployment, уже реализовано в UI BPM аддона в экране редактирования описания процесса (см. документацию в самом конце).
В каком экране аддона вам не хватает данного действия?
Так вопрос же был не в удалении активных или приостановленных экземпляров.
Я интересовался как “зачистить все связанные с ним завершённые экземпляры”, а то получается что деплоя нет, а в базе осталось много “мусора” от экспериментов по этому процессу.
По документации Flowable, как я понял, это вот этот метод решил бы вопрос как нужно:
По активным и приостановленным и так понятно - если мы убиваем деплой, то и никак эти экземпляры уже не будет возможности реанимировать и поэтому конечно предлагают их сразу зачистить. Это как раз нормально.
Понял свою ошибку.
Текущий функционал аддона удаляет версии “по одному”.
И получается, что когда версий процесса было много, то вроде бы удаляешь, удаляешь деплой, а ничего не происходит… Хотя все правильно удаляется, начиная от старшей версии к младшей. Просто визуально это очень не очевидно.
Тем не менее, вопрос про “исполненные” экземпляры процессов пока остается открытым. Подхватываются ли они при удалении соответствующей версии деплоя, или так и остаются в БД?
Подскажите пожалуйста.
Судя по состоянию таблицы act_hi_actinst
все “под капотом” удаляется и зачищается правильно.
Спасибо за консультации!