Size: a a a

Camunda BPM Group

2020 July 10

AS

Andrey S in Camunda BPM Group
Dmitrii Pisarenko
> в котором с помощью экспрешена вызывается спригновский сервис,

"С помощью экспрешена" означает, что

1. в Моделере у Вас у этой активности Implementation='Delegate Expression' и Delegate Expression='${SomeSpringService}', а
2. в Джаве что-то вроде этого?

@Component("SomeSpringService")
public class SomeSpringService implements JavaDelegate {
1. Почти. Чтобы не было недопонимания, скрин:
источник

AS

Andrey S in Camunda BPM Group
2.
@Service("apiService")
public class ApiService
 {
....
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
apiService.call(...) точно вызывается, когда токен попадает в Test error?
источник

AS

Andrey S in Camunda BPM Group
Да
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Я бы добавил в самое начало apiService.call(...) строку runtimeService.createIncident(INTERNAL_ERROR_INCIDENT_TYPE, execution.getId(), "", "My Test Incident"); и проверил, появляется ли там инцидент или нет (в отрыве от обработки исключений).
источник

AS

Andrey S in Camunda BPM Group
Нет, не появляется. В том то и дело. :)
источник

DP

Dmitrii Pisarenko in Camunda BPM Group
Один очень простой вариант решения — сделать отдельный класс (реализующий JavaDelegate), метод которого будет дергать Камунда. А уже в этом методе Вы можете вызывать ApiService.

Если это не подходит, я бы посмотрел на execution — откуда она берется и правильная ли она?
источник

AS

Andrey S in Camunda BPM Group
Dmitrii Pisarenko
Один очень простой вариант решения — сделать отдельный класс (реализующий JavaDelegate), метод которого будет дергать Камунда. А уже в этом методе Вы можете вызывать ApiService.

Если это не подходит, я бы посмотрел на execution — откуда она берется и правильная ли она?
Спасибо. Тут вычитал, что кастомные типы надо регистрировать. Может в этом проблема. В общем RTFD
источник

YY

Yo Yo in Camunda BPM Group
Andrey S
Спасибо. Тут вычитал, что кастомные типы надо регистрировать. Может в этом проблема. В общем RTFD
Для кастомных инцидентов нужно зарегистрировать CustomIncidentHandler, без этого ничего не выйдет, да.
Причём по хорошему унаследоваться от DefaultIncidentHandler (он как раз работает с контекстом), и в каждом методе прокинуть вызов  super.
источник

AS

Andrey S in Camunda BPM Group
Yo Yo
Для кастомных инцидентов нужно зарегистрировать CustomIncidentHandler, без этого ничего не выйдет, да.
Причём по хорошему унаследоваться от DefaultIncidentHandler (он как раз работает с контекстом), и в каждом методе прокинуть вызов  super.
👍
источник
2020 July 11

IP

Igor Petetskikh in Camunda BPM Group
Здрасте всем, снова я с пачкой нестандартных вопросов...

Я делаю разные дурацкие эксперименты, и щас пытаюсь сделать так, чтоб при деплое камунда анализировала схему, и если в сервис таске с определённым делегатом не хватает полей, автоматически их добавляла.

на текущий момент, я умею анализировать деплой, анализировать текущую таску, и проверять соответсвует ли она моим условиям.

попытался добавить поле (которое Field в CamundaModeler), и выяснил, что при деплое XML схемы сохраняется в своем первозданном виде в базе в таблице ACT_GE_BYTEARRAY.

И получается, что модифицировать схемы на лету при деплое - возможности нету...

Я ничего не упустил? (обсуждение - нафига это вообще делать - оставим за кадром, говорю ж, экспериментирую) =))
источник

DK

Denis Kotov in Camunda BPM Group
Ну можно хмл модифицировать же
источник

DK

Denis Kotov in Camunda BPM Group
Регэкспом ( оставим за кадром нафига:)))
источник

SD

Serg D. in Camunda BPM Group
"У нас была проблема и мы хотели решить ее регэкспами. Теперь у нас две проблемы."

Java имеет огромный функционал для работы с XML. Например xslt. Все лучше регэкспов 😂
источник

DK

Denis Kotov in Camunda BPM Group
Это рофл, вы чо
источник

DK

Denis Kotov in Camunda BPM Group
Там специальная либа для бпмн есть даже
источник

IP

Igor Petetskikh in Camunda BPM Group
Denis Kotov
Там специальная либа для бпмн есть даже
я так и не нашел =(
источник

DK

Denis Kotov in Camunda BPM Group
Ща поищу исходники со шторма, я там использую
источник

IP

Igor Petetskikh in Camunda BPM Group
на жаве или ноде?
источник

DK

Denis Kotov in Camunda BPM Group
На джаве
источник