我正在开发一个bonita进程,以便在实例中运行。我需要在每个任务上使用自定义的参与者筛选器,以选择可能的审批者。
每个参与者被映射到一个角色(
)。
基于配置的“我的参与者筛选器”可以匹配属于一个或两个组的用户以及与该参与者关联的角色。
在这里之前一切都很好但是..。
我可能没有这个任务的可用批准者,所以我需要跳过它。一切似乎都好起来了,但我的问题来了:
当我试图跳过任务时,执行失败,因为任务没有输入。
2020-03-10 17:52:24.233 +0000 SEVERE: org.bonitasoft.engine.execution.work.InSessionBonitaWork THREAD_ID=89 | HOSTNAME=xxx | TENANT_ID=1 | org.bonitasoft.engine.expression.exception.SExpressionEvaluationException : "PROCESS_DEFINITION_ID=8625658402299344846 | PROCESS_NAME=xxx | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=2003 | ROOT_PROCESS_INSTANCE_ID=2003 | FLOW_NODE_DEFINITION_ID=7701602949247176053 | FLOW_NODE_INSTANCE_ID=40011 | FLOW_NODE_NAME=Task Name | Some data were not found [inputAction]"
org.bonitasoft.engine.expression.exception.SExpressionEvaluationException: PROCESS_DEFINITION_ID=8625658402299344846 | PROCESS_NAME=xxx | PROCESS_VERSION=1.0 | PROCESS_INSTANCE_ID=2003 | ROOT_PROCESS_INSTANCE_ID=2003 | FLOW_NODE_DEFINITION_ID=7701602949247176053 | FLOW_NODE_INSTANCE_ID=40011 | FLOW_NODE_NAME=Task Name | Some data were not found [inputAction]
at org.bonitasoft.engine.expression.DataExpressionExecutorStrategy.evaluate(DataExpressionExecutorStrategy.java:112)
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:154)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsOfKind(ExpressionResolverServiceImpl.java:225)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateAllExpressionsWithNoDependencies(ExpressionResolverServiceImpl.java:182)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:115)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:83)
at org.bonitasoft.engine.execution.transition.TransitionConditionEvaluator.evaluateCondition(TransitionConditionEvaluator.java:44)
at org.bonitasoft.engine.execution.transition.ImplicitGatewayTransitionEvaluator.evaluateTransition(ImplicitGatewayTransitionEvaluator.java:73)
at org.bonitasoft.engine.execution.transition.ImplicitGatewayTransitionEvaluator.evaluatedTransitions(ImplicitGatewayTransitionEvaluator.java:66)
at org.bonitasoft.engine.execution.transition.ImplicitGatewayTransitionEvaluator.evaluateTransitions(ImplicitGatewayTransitionEvaluator.java:42)
at org.bonitasoft.engine.execution.TransitionEvaluator.evaluateOutgoingTransitionsForActivity(TransitionEvaluator.java:80)
at org.bonitasoft.engine.execution.TransitionEvaluator.evaluateOutgoingTransitions(TransitionEvaluator.java:66)
at org.bonitasoft.engine.execution.TransitionEvaluator.buildTransitionsWrapper(TransitionEvaluator.java:126)
at org.bonitasoft.engine.execution.ProcessExecutorImpl.executeValidOutgoingTransitionsAndUpdateTokens(ProcessExecutorImpl.java:698)
at org.bonitasoft.engine.execution.ProcessExecutorImpl.childFinished(ProcessExecutorImpl.java:588)
at org.bonitasoft.engine.execution.ContainerRegistry.nodeReachedState(ContainerRegistry.java:58)
at org.bonitasoft.engine.execution.work.NotifyChildFinishedWork.work(NotifyChildFinishedWork.java:69)
at org.bonitasoft.engine.execution.work.TxBonitaWork.lambda$work$0(TxBonitaWork.java:42)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:274)
at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:42)
at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:63)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:41)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:41)
at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:41)
at org.bonitasoft.engine.execution.work.InSessionBonitaWork.work(InSessionBonitaWork.java:59)
at org.bonitasoft.engine.work.BonitaThreadPoolExecutor.lambda$submit$1(BonitaThreadPoolExecutor.java:132)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)所有任务都有一个带有文本变量inputAction的契约输入,其值为“已批准”或“拒绝”。
我试过了
users;
有办法做到这一点吗?
发布于 2020-03-12 00:47:09
这一问题是由于使用了局部变量ti流程审批者的行动。这些变量在失败时尚未创建,因此不可能跳过任务(bug?)。移动到集合变量解决了我的问题。
https://stackoverflow.com/questions/60623589
复制相似问题