fix - 添加节点告警逻辑
This commit is contained in:
parent
ffbf270948
commit
972557b32c
@ -41,6 +41,16 @@ public class SupportRefreshProperties {
|
||||
|
||||
@Value(value = "${workflow.alter.enable:false}")
|
||||
private Boolean alterEnable;
|
||||
/**
|
||||
* 是否全量业务 ID 都开启告警功能
|
||||
*/
|
||||
@Value(value = "${workflow.alter.allDefinitionKey:false}")
|
||||
private Boolean alterAllDefinitionKey;
|
||||
/**
|
||||
* 需要开启告警功能的业务 ID 列表
|
||||
*/
|
||||
@Value(value = "${workflow.alter.definitionKeys:}")
|
||||
private List<String> alterDefinitionKeys;
|
||||
/**
|
||||
* 节点卡住多久才告警,单位分钟
|
||||
*/
|
||||
|
||||
@ -11,6 +11,7 @@ import cn.axzo.workflow.core.listener.AbstractBpmnEventListener;
|
||||
import cn.axzo.workflow.core.listener.BpmnActivityEventListener;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.flowable.bpmn.model.BpmnModel;
|
||||
import org.flowable.bpmn.model.FlowElement;
|
||||
import org.flowable.common.engine.impl.cfg.TransactionState;
|
||||
@ -60,11 +61,16 @@ public class InternalBpmnActivityEventListener_lo_Listener extends AbstractBpmnE
|
||||
if (!Boolean.TRUE.equals(refreshProperties.getAlterEnable())) {
|
||||
return;
|
||||
}
|
||||
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(execution.getProcessDefinitionId());
|
||||
if (!refreshProperties.getAlterAllDefinitionKey()) {
|
||||
if (!ListUtils.emptyIfNull(refreshProperties.getAlterDefinitionKeys()).contains(bpmnModel.getMainProcess().getId())) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration();
|
||||
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
|
||||
TermNodePausingDTO dto = new TermNodePausingDTO(execution.getProcessInstanceId(), execution.getCurrentActivityId(), 0);
|
||||
runtimeService.setVariable(execution.getProcessInstanceId(), BIZ_NODE_ALTER + execution.getCurrentActivityId(), dto);
|
||||
BpmnModel bpmnModel = ProcessDefinitionUtil.getBpmnModel(execution.getProcessDefinitionId());
|
||||
FlowElement flowElement = bpmnModel.getFlowElement(execution.getCurrentActivityId());
|
||||
BpmnMetaParserHelper.getNodeType(flowElement).ifPresent(e -> {
|
||||
if (Objects.equals(BpmnFlowNodeType.NODE_BUSINESS, e)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user