Size: a a a

Camunda BPM Group

2020 January 22

DK

Denis Kotov in Camunda BPM Group
message: deleteAllActiveInstancesSyncDelegate. Error. Error = null.
  stack_trace: java.lang.NullPointerException: null
 at org.camunda.bpm.engine.impl.cmd.AbstractProcessInstanceModificationCommand.findActivityInstance(AbstractProcessInstanceModificationCommand.java:66)
 at org.camunda.bpm.engine.impl.cmd.ActivityInstanceCancellationCmd.determineSourceInstanceExecution(ActivityInstanceCancellationCmd.java:62)
источник

DK

Denis Kotov in Camunda BPM Group
он зачем-то ищет джобы, которых нет в процессе 1 и 2, потому что там только колл активити
источник

DK

Denis Kotov in Camunda BPM Group
Вопрос - как убить 10 процессов по бизнес-ки, которые находятся в связки с друг другом через call-activity, да еще и в одной транзакции
источник

OA

Oleg Antonevich in Camunda BPM Group
Не осилил задачу.
Но на всякий случай: убиваю инстансы пачками через async метод runtimeService.deleteProcessInstancesAsync(query).
источник

OA

Oleg Antonevich in Camunda BPM Group
Тоже большая вложенность, сделанная через call activities.
источник

DK

Denis Kotov in Camunda BPM Group
асинк создает джобу, которая когда-то выполнится, а мне надо сразу
источник

DK

Denis Kotov in Camunda BPM Group
потому что после этого квадратика с убийством у меня еще в процессе идут другие квадратики, которым надо гарантировать, что я остальное убил уже
источник

DK

Denis Kotov in Camunda BPM Group
ну т.е. я могу костыльнуть таймер конечно, но это не по феншую
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Denis Kotov
он зачем-то ищет джобы, которых нет в процессе 1 и 2, потому что там только колл активити
А откуда инфа про джобы? По стэктрейсу- не может процессы найти
источник

DK

Denis Kotov in Camunda BPM Group
stack_trace: java.lang.NullPointerException: null
 at org.camunda.bpm.engine.impl.cmd.AbstractProcessInstanceModificationCommand.findActivityInstance(AbstractProcessInstanceModificationCommand.java:66)
 at org.camunda.bpm.engine.impl.cmd.ActivityInstanceCancellationCmd.determineSourceInstanceExecution(ActivityInstanceCancellationCmd.java:62)
 at org.camunda.bpm.engine.impl.cmd.AbstractInstanceCancellationCmd.execute(AbstractInstanceCancellationCmd.java:42)
 at org.camunda.bpm.engine.impl.cmd.AbstractInstanceCancellationCmd.execute(AbstractInstanceCancellationCmd.java:27)
 at org.camunda.bpm.engine.impl.cmd.ModifyProcessInstanceCmd.execute(ModifyProcessInstanceCmd.java:80)
 at org.camunda.bpm.engine.impl.ProcessInstanceModificationBuilderImpl.execute(ProcessInstanceModificationBuilderImpl.java:253)
 at org.camunda.bpm.engine.impl.cmd.AbstractDeleteProcessInstanceCmd$1.call(AbstractDeleteProcessInstanceCmd.java:102)
 at org.camunda.bpm.engine.impl.cmd.AbstractDeleteProcessInstanceCmd$1.call(AbstractDeleteProcessInstanceCmd.java:98)
 at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:482)
 at org.camunda.bpm.engine.impl.cmd.AbstractDeleteProcessInstanceCmd.deleteProcessInstance(AbstractDeleteProcessInstanceCmd.java:98)
 at org.camunda.bpm.engine.impl.cmd.DeleteProcessInstancesCmd.execute(DeleteProcessInstancesCmd.java:47)
 at org.camunda.bpm.engine.impl.cmd.DeleteProcessInstancesCmd.execute(DeleteProcessInstancesCmd.java:29)
 at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28)
 at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:107)
 at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:46)
 at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
 at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:44)
 at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70)
 at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
 at org.camunda.bpm.engine.impl.RuntimeServiceImpl.deleteProcessInstancesIfExists(RuntimeServiceImpl.java:240)
 at ru.tinkoff.bpm.smecreditorigination.component.CamundaComponent.deleteAllActiveProcessSynchronously(CamundaComponent.kt:53)
 at ru.tinkoff.bpm.smecreditorigination.process.common.finishrejectapplication.delegate.DeleteAllActiveInstancesSyncDelegate.doExecute(DeleteAllActiveInstancesSyncDelegate.kt:14)
 at ru.tinkoff.bpm.smecreditorigination.process.AbstractDelegate.execute(AbstractDelegate.kt:30)
 at org.camunda.bpm.engine.impl.bpmn.delegate.JavaDelegateInvocation.invoke(JavaDelegateInvocation.java:40)
источник

DK

Denis Kotov in Camunda BPM Group
не джобы, AcitvityInstance похоже
источник

DG

Dmitrii Goncharov in Camunda BPM Group
Denis Kotov
не джобы, AcitvityInstance похоже
Да
Причем навскидку единственный вариант такого -
    if (processInstance.isEnded()) {
     return null;
   }
источник

DK

Denis Kotov in Camunda BPM Group
не понял шо предлагается
источник

DK

Denis Kotov in Camunda BPM Group
чекать. не завершен ли инстанс случайно?
источник

DK

Denis Kotov in Camunda BPM Group
if (skipSubprocesses) {
     List<ProcessInstance> superProcesslist = commandContext.getProcessEngineConfiguration().getRuntimeService().createProcessInstanceQuery()
         .superProcessInstanceId(processInstanceId).list();
источник

DK

Denis Kotov in Camunda BPM Group
вот они как при скипе ищут, мб попроьуб так же найти лист
источник

OA

Oleg Antonevich in Camunda BPM Group
Denis Kotov
асинк создает джобу, которая когда-то выполнится, а мне надо сразу
Ну мне джоба и была нужна, я хотел прокатиться на автоматических ретраях джоб экзекьютора. У тебя какая-то другая задача.
источник

DK

Denis Kotov in Camunda BPM Group
ага, я уже с асих пытался :(
источник

OA

Oleg Antonevich in Camunda BPM Group
Denis Kotov
ну т.е. я могу костыльнуть таймер конечно, но это не по феншую
По-моему такое родителе-убийство тоже не по феншую. :)
Не знаю что там за модель конечно, но может тут можно декомпозировать по-другому, чтобы убийство было не в детях.
источник

OA

Oleg Antonevich in Camunda BPM Group
Типа, дошли до точки, где нужно убийство, выбросили наверх эскалацию, она на самом верху прихлопнула всю колл-активити, стартанула воркфлоу, который идёт после убийства.
источник