update - 给所有的事件添加进出日志打印

This commit is contained in:
wangli 2023-12-08 22:49:08 +08:00
parent bdb5bed5c4
commit a503354d79
15 changed files with 230 additions and 121 deletions

View File

@ -0,0 +1,40 @@
package cn.axzo.workflow.core.repository.entity;
import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
/**
* rocket mq log
*
* @author wangli
* @since 2023/12/8 22:23
*/
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ext_ax_rocket_log", autoResultMap = true)
@Data
@ToString(callSuper = true)
public class ExtAxRocketLog extends BaseEntity<ExtAxRocketLog> {
/**
* shardKey
*/
@TableField("key")
private String key;
/**
* 事件类型
*/
@TableField("event")
private String event;
/**
* 事件源数据
*/
@TableField("event_source")
private String eventSource;
}

View File

@ -0,0 +1,15 @@
package cn.axzo.workflow.core.repository.mapper;
import cn.axzo.workflow.core.repository.entity.ExtAxRocketLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* ExtAxReProcDefMapper
*
* @author wangli
* @since 2023/11/18 22:16
*/
@Mapper
public interface ExtAxRocketLogMapper extends BaseMapper<ExtAxRocketLog> {
}

View File

@ -0,0 +1,11 @@
package cn.axzo.workflow.core.service;
/**
* 流程定义扩展表操作 Service
*
* @author wangli
* @since 2023/11/18 22:25
*/
public interface ExtAxRocketLogService {
}

View File

@ -0,0 +1,25 @@
package cn.axzo.workflow.core.service.impl;
import cn.axzo.workflow.core.repository.mapper.ExtAxReProcDefMapper;
import cn.axzo.workflow.core.service.ExtAxRocketLogService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 流程定义扩展表操作服务实现
*
* @author wangli
* @since 2023/11/18 22:27
*/
@Service
@RequiredArgsConstructor
@Slf4j
public class ExtAxRocketLogServiceImpl implements ExtAxRocketLogService {
@Resource
private ExtAxReProcDefMapper extAxReProcDefMapper;
}

View File

@ -0,0 +1,13 @@
DROP TABLE IF EXISTS `EXT_AX_ROCKET_LOG`;
CREATE TABLE IF NOT EXISTS EXT_AX_ROCKET_LOG
(
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`event` varchar(100) NOT NULL DEFAULT '' COMMENT '事件类型',
`key` varchar(100) NOT NULL DEFAULT '' COMMENT 'shardKey',
`event_source` varchar(4000) NOT NULL COMMENT '事件源数据',
`create_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_delete` bigint NOT NULL DEFAULT '0' COMMENT '是否删除',
PRIMARY KEY (`id`)
) ENGINE = InnoDB COMMENT '流程模型信息扩展表';
create index idx_proc_def_id on EXT_AX_ROCKET_LOG (event, key);

View File

@ -6,7 +6,6 @@ import cn.axzo.workflow.common.enums.ProcessActivityEventEnum;
import cn.axzo.workflow.common.model.response.mq.ProcessActivityDTO; import cn.axzo.workflow.common.model.response.mq.ProcessActivityDTO;
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper; import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
import cn.axzo.workflow.core.listener.BpmnActivityEventListener; import cn.axzo.workflow.core.listener.BpmnActivityEventListener;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEvent; import org.flowable.common.engine.api.delegate.event.FlowableEngineEvent;
@ -49,7 +48,7 @@ public class RocketMqBpmActivityEventListener implements BpmnActivityEventListen
@Override @Override
public void onStarted(FlowableEngineEvent event) { public void onStarted(FlowableEngineEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("activity started event"); log.debug("RocketMqBpmActivityEventListener#onStarted...");
} }
ProcessActivityDTO dto = new ProcessActivityDTO(); ProcessActivityDTO dto = new ProcessActivityDTO();
dto.setType(PROCESS_ACTIVITY_STARTED); dto.setType(PROCESS_ACTIVITY_STARTED);
@ -69,16 +68,16 @@ public class RocketMqBpmActivityEventListener implements BpmnActivityEventListen
} }
Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess(); Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess();
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onStarted MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_ACTIVITY_STARTED); sendMessageQueue(dto, PROCESS_ACTIVITY_STARTED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onStarted...end");
}
} }
@Override @Override
public void onCompleted(FlowableEngineEvent event) { public void onCompleted(FlowableEngineEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("activity completed event"); log.debug("RocketMqBpmActivityEventListener#onCompleted...");
} }
ProcessActivityDTO dto = new ProcessActivityDTO(); ProcessActivityDTO dto = new ProcessActivityDTO();
dto.setType(PROCESS_ACTIVITY_COMPLETED); dto.setType(PROCESS_ACTIVITY_COMPLETED);
@ -98,16 +97,16 @@ public class RocketMqBpmActivityEventListener implements BpmnActivityEventListen
} }
Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess(); Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess();
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onCompleted MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_ACTIVITY_COMPLETED); sendMessageQueue(dto, PROCESS_ACTIVITY_COMPLETED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onCompleted...end");
}
} }
@Override @Override
public void onCancelled(FlowableEngineEvent event) { public void onCancelled(FlowableEngineEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("activity cancelled event"); log.debug("RocketMqMessagePushEventListener#onCancelled...");
} }
ProcessActivityDTO dto = new ProcessActivityDTO(); ProcessActivityDTO dto = new ProcessActivityDTO();
dto.setType(PROCESS_ACTIVITY_CANCELLED); dto.setType(PROCESS_ACTIVITY_CANCELLED);
@ -127,10 +126,10 @@ public class RocketMqBpmActivityEventListener implements BpmnActivityEventListen
} }
Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess(); Process mainProcess = repositoryService.getBpmnModel(event.getProcessDefinitionId()).getMainProcess();
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onCancelled MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_ACTIVITY_CANCELLED); sendMessageQueue(dto, PROCESS_ACTIVITY_CANCELLED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmActivityEventListener#onCancelled...end");
}
} }

View File

@ -115,12 +115,15 @@ public class RocketMqMessagePushEventListener implements BpmnMessagePushEventLis
|| Objects.isNull(event.getAssigner())) { || Objects.isNull(event.getAssigner())) {
return; return;
} }
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onNotice...");
}
MessagePushDTO dto = build(event.getNoticeConfig().getNotice().getNoticeMessageId(), PROCESS_PUSH_NOTICE, event, MessagePushDTO dto = build(event.getNoticeConfig().getNotice().getNoticeMessageId(), PROCESS_PUSH_NOTICE, event,
collectionVariable(event)); collectionVariable(event));
if (log.isDebugEnabled()) {
log.debug("MessagePushEventListener#onNotice MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_PUSH_NOTICE); sendMessageQueue(dto, PROCESS_PUSH_NOTICE);
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onNotice...end");
}
} }
@ -132,13 +135,16 @@ public class RocketMqMessagePushEventListener implements BpmnMessagePushEventLis
|| Objects.isNull(event.getAssigner())) { || Objects.isNull(event.getAssigner())) {
return; return;
} }
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onPendingPush...");
}
MessagePushDTO dto = build(event.getNoticeConfig().getPending().getPendingMessageId(), PROCESS_PUSH_PENDING, MessagePushDTO dto = build(event.getNoticeConfig().getPending().getPendingMessageId(), PROCESS_PUSH_PENDING,
event, event,
collectionVariable(event)); collectionVariable(event));
if (log.isDebugEnabled()) {
log.debug("MessagePushEventListener#onPending MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_PUSH_PENDING); sendMessageQueue(dto, PROCESS_PUSH_PENDING);
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onPendingPush...end");
}
} }
@Override @Override
@ -148,12 +154,15 @@ public class RocketMqMessagePushEventListener implements BpmnMessagePushEventLis
|| !StringUtils.hasLength(event.getNoticeConfig().getPending().getPendingMessageId())) { || !StringUtils.hasLength(event.getNoticeConfig().getPending().getPendingMessageId())) {
return; return;
} }
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onPendingComplete...");
}
MessagePushDTO dto = build(event.getNoticeConfig().getPending().getPendingMessageId(), PROCESS_PUSH_PENDING_COMPLETE, MessagePushDTO dto = build(event.getNoticeConfig().getPending().getPendingMessageId(), PROCESS_PUSH_PENDING_COMPLETE,
event, null); event, null);
if (log.isDebugEnabled()) {
log.debug("MessagePushEventListener#onPending MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_PUSH_PENDING_COMPLETE); sendMessageQueue(dto, PROCESS_PUSH_PENDING_COMPLETE);
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onPendingComplete...end");
}
} }
@Override @Override
@ -164,12 +173,15 @@ public class RocketMqMessagePushEventListener implements BpmnMessagePushEventLis
|| Objects.isNull(event.getAssigner())) { || Objects.isNull(event.getAssigner())) {
return; return;
} }
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onSms...");
}
MessagePushDTO dto = build(event.getNoticeConfig().getSms().getSmsId(), PROCESS_PUSH_SMS, event, MessagePushDTO dto = build(event.getNoticeConfig().getSms().getSmsId(), PROCESS_PUSH_SMS, event,
collectionVariable(event)); collectionVariable(event));
if (log.isDebugEnabled()) {
log.debug("MessagePushEventListener#onSms MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_PUSH_SMS); sendMessageQueue(dto, PROCESS_PUSH_SMS);
if (log.isDebugEnabled()) {
log.debug("RocketMqMessagePushEventListener#onSms...end");
}
} }
private Map<String, Object> collectionVariable(MessagePushEvent event) { private Map<String, Object> collectionVariable(MessagePushEvent event) {

View File

@ -1,55 +0,0 @@
package cn.axzo.workflow.server.controller.listener.process;
import cn.axzo.workflow.core.listener.BpmnProcessEventListener;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent;
import org.flowable.engine.delegate.event.FlowableCancelledEvent;
import org.flowable.engine.delegate.event.FlowableProcessStartedEvent;
import org.springframework.core.Ordered;
/**
* 自定义实现的流程监听器, 实现了 Ordered 接口
*
* 注意:Order 值越小,优先级越高
*
* @author wangli
* @since 2023/7/10 18:22
*/
@Slf4j
//@Component
public class CustomBpmnProcessEventListener implements BpmnProcessEventListener, Ordered {
@Override
public void onCreated(FlowableEngineEntityEvent event) {
log.info("Process onCreated: ClassName: {}", event.getClass().getName());
}
@Override
public void onStarted(FlowableProcessStartedEvent event) {
log.info("Process onStarted: ClassName: {}", event.getClass().getName());
}
@Override
public void onCancelled(FlowableCancelledEvent event) {
log.info("Process onCancelled: ClassName: {}", event.getClass().getName());
}
/**
* 流程实例被驳回后回调
*
* @param event
*/
@Override
public void onRejected(FlowableCancelledEvent event) {
log.info("Process onRejected: ClassName: {}", event.getClass().getName());
}
@Override
public void onCompleted(FlowableEngineEntityEvent event) {
log.info("Process onCompleted: ClassName: {}", event.getClass().getName());
}
@Override
public int getOrder() {
return 99;
}
}

View File

@ -32,17 +32,35 @@ public class MessagePushProcessEventListener implements BpmnProcessEventListener
@Override @Override
public void onCancelled(FlowableCancelledEvent event) { public void onCancelled(FlowableCancelledEvent event) {
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCancelled...");
}
pendingComplete(event); pendingComplete(event);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCancelled...end");
}
} }
@Override @Override
public void onRejected(FlowableCancelledEvent event) { public void onRejected(FlowableCancelledEvent event) {
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onRejected...");
}
pendingComplete(event); pendingComplete(event);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onRejected...end");
}
} }
@Override @Override
public void onCompleted(FlowableEngineEntityEvent event) { public void onCompleted(FlowableEngineEntityEvent event) {
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCompleted...");
}
pendingComplete(event); pendingComplete(event);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCompleted...end");
}
} }
private void pendingComplete(FlowableEngineEvent event) { private void pendingComplete(FlowableEngineEvent event) {

View File

@ -7,7 +7,6 @@ import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO; import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper; import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
import cn.axzo.workflow.core.listener.BpmnProcessEventListener; import cn.axzo.workflow.core.listener.BpmnProcessEventListener;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent;
@ -51,7 +50,7 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
@Override @Override
public void onCreated(FlowableEngineEntityEvent event) { public void onCreated(FlowableEngineEntityEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("RocketMQ onCreated: ClassName: {}", event.getClass().getName()); log.debug("MessagePushProcessEventListener#onCreated...");
} }
Deployment deployment = Deployment deployment =
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId()).singleResult(); repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId()).singleResult();
@ -72,16 +71,16 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
.setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getBusinessKey()) .setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getBusinessKey())
.setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getName()); .setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getName());
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmProcessEventListener#onCreated MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_INSTANCE_CREATED); sendMessageQueue(dto, PROCESS_INSTANCE_CREATED);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCreated...end");
}
} }
@Override @Override
public void onStarted(FlowableProcessStartedEvent event) { public void onStarted(FlowableProcessStartedEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("RocketMQ onStarted: ClassName: {}", event.getClass().getName()); log.debug("MessagePushProcessEventListener#onStarted...");
} }
Deployment deployment = Deployment deployment =
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId()) repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId())
@ -104,16 +103,16 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
.setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getProcessInstance().getBusinessKey()) .setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getProcessInstance().getBusinessKey())
.setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getProcessInstance().getName()); .setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getProcessInstance().getName());
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmProcessEventListener#onStarted MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_INSTANCE_STARTED); sendMessageQueue(dto, PROCESS_INSTANCE_STARTED);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onStarted...end");
}
} }
@Override @Override
public void onCancelled(FlowableCancelledEvent event) { public void onCancelled(FlowableCancelledEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("RocketMQ onCancelled: ClassName: {}", event.getClass().getName()); log.debug("MessagePushProcessEventListener#onCancelled...");
} }
Deployment deployment = Deployment deployment =
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getDeploymentId()) repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getDeploymentId())
@ -135,10 +134,10 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
.setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName()) .setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName())
.setCancelReason(String.valueOf(event.getCause())); .setCancelReason(String.valueOf(event.getCause()));
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmProcessEventListener#onCancelled MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_INSTANCE_CANCELLED); sendMessageQueue(dto, PROCESS_INSTANCE_CANCELLED);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCancelled...end");
}
} }
/** /**
@ -149,7 +148,7 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
@Override @Override
public void onRejected(FlowableCancelledEvent event) { public void onRejected(FlowableCancelledEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("RocketMQ onRejected: ClassName: {}", event.getClass().getName()); log.debug("MessagePushProcessEventListener#onRejected...");
} }
Deployment deployment = Deployment deployment =
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getDeploymentId()) repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getDeploymentId())
@ -171,16 +170,16 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
.setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName()) .setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName())
.setCancelReason(String.valueOf(event.getCause())); .setCancelReason(String.valueOf(event.getCause()));
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmProcessEventListener#onRejected MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_INSTANCE_REJECTED); sendMessageQueue(dto, PROCESS_INSTANCE_REJECTED);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onRejected...end");
}
} }
@Override @Override
public void onCompleted(FlowableEngineEntityEvent event) { public void onCompleted(FlowableEngineEntityEvent event) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("RocketMQ onCompleted: ClassName: {}", event.getClass().getName()); log.debug("MessagePushProcessEventListener#onCompleted...");
} }
Deployment deployment = Deployment deployment =
repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId()) repositoryService.createDeploymentQuery().deploymentId(((ExecutionEntityImpl) event.getEntity()).getDeploymentId())
@ -202,10 +201,10 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene
.setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getProcessInstanceBusinessKey()) .setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getProcessInstanceBusinessKey())
.setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getName()); .setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getName());
BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmProcessEventListener#onCompleted MQ.Data: {}", JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_INSTANCE_COMPLETED); sendMessageQueue(dto, PROCESS_INSTANCE_COMPLETED);
if (log.isDebugEnabled()) {
log.debug("MessagePushProcessEventListener#onCompleted...end");
}
} }
private void sendMessageQueue(ProcessInstanceDTO dto, ProcessInstanceEventEnum eventEnum) { private void sendMessageQueue(ProcessInstanceDTO dto, ProcessInstanceEventEnum eventEnum) {

View File

@ -50,6 +50,9 @@ public class AutoOperatorEventListener implements BpmnTaskEventListener, Ordered
@Override @Override
public void onCreated(DelegateTask delegateTask) { public void onCreated(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("AutoOperatorEventListener#onCreated...");
}
Process mainProcess = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId()).getMainProcess(); Process mainProcess = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId()).getMainProcess();
UserTask userTask = (UserTask) mainProcess.getFlowElement(delegateTask.getTaskDefinitionKey()); UserTask userTask = (UserTask) mainProcess.getFlowElement(delegateTask.getTaskDefinitionKey());
@ -88,9 +91,15 @@ public class AutoOperatorEventListener implements BpmnTaskEventListener, Ordered
} }
}); });
} }
if (log.isDebugEnabled()) {
log.debug("AutoOperatorEventListener#onCreated...end");
}
} }
private void autoReject(DelegateTask delegateTask) { private void autoReject(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("AutoOperatorEventListener#autoReject...");
}
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), COMMENT_TYPE_ADVICE, "自动驳回"); taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), COMMENT_TYPE_ADVICE, "自动驳回");
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
variables.put(INTERNAL_END_TENANT_ID, delegateTask.getTenantId()); variables.put(INTERNAL_END_TENANT_ID, delegateTask.getTenantId());
@ -101,6 +110,9 @@ public class AutoOperatorEventListener implements BpmnTaskEventListener, Ordered
// 删除流程实例以实现驳回任务时取消整个审批流程 // 删除流程实例以实现驳回任务时取消整个审批流程
processInstanceService.deleteProcessInstance(delegateTask.getProcessInstanceId(), REJECTION_AUTO_COMPLETED.getDesc()); processInstanceService.deleteProcessInstance(delegateTask.getProcessInstanceId(), REJECTION_AUTO_COMPLETED.getDesc());
if (log.isDebugEnabled()) {
log.debug("AutoOperatorEventListener#autoReject...end");
}
} }

View File

@ -51,6 +51,9 @@ public class MessagePushTaskEventListener implements BpmnTaskEventListener, Orde
@Override @Override
public void onAssigned(DelegateTask delegateTask) { public void onAssigned(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("MessagePushTaskEventListener#onAssigned...");
}
if (Objects.equals(TASK_ASSIGNEE_SKIP_FLAT, delegateTask.getAssignee())) { if (Objects.equals(TASK_ASSIGNEE_SKIP_FLAT, delegateTask.getAssignee())) {
// 转交功能原审批人完成待办, 由于在流程引擎侧, 任务是不会在转交时立即结束, 但待办消息需要立即完成, // 转交功能原审批人完成待办, 由于在流程引擎侧, 任务是不会在转交时立即结束, 但待办消息需要立即完成,
// 下面的 onDelete 事件根据测试情况,看是否需要过滤掉这种任务的"完成待办"事件的推送 // 下面的 onDelete 事件根据测试情况,看是否需要过滤掉这种任务的"完成待办"事件的推送
@ -58,11 +61,20 @@ public class MessagePushTaskEventListener implements BpmnTaskEventListener, Orde
return; return;
} }
pendingPush(delegateTask); pendingPush(delegateTask);
if (log.isDebugEnabled()) {
log.debug("MessagePushTaskEventListener#onAssigned...end");
}
} }
@Override @Override
public void onDeleted(DelegateTask delegateTask) { public void onDeleted(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("MessagePushTaskEventListener#onDeleted...");
}
pendingComplete(delegateTask); pendingComplete(delegateTask);
if (log.isDebugEnabled()) {
log.debug("MessagePushTaskEventListener#onDeleted...end");
}
} }
private void pendingComplete(DelegateTask delegateTask) { private void pendingComplete(DelegateTask delegateTask) {

View File

@ -54,53 +54,49 @@ public class RocketMqBpmnTaskEventListener implements BpmnTaskEventListener, Ord
@Override @Override
public void onCreated(DelegateTask delegateTask) { public void onCreated(DelegateTask delegateTask) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("task created event"); log.debug("RocketMqBpmnTaskEventListener#onCreated...");
} }
ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_CREATED); ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_CREATED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmTaskEventListener#onCreated MQ.Data: {}",
com.alibaba.fastjson.JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_TASK_CREATED); sendMessageQueue(dto, PROCESS_TASK_CREATED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmnTaskEventListener#onCreated...end");
}
} }
@Override @Override
public void onAssigned(DelegateTask delegateTask) { public void onAssigned(DelegateTask delegateTask) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("task assigned event"); log.debug("RocketMqBpmnTaskEventListener#onAssigned...");
} }
ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_ASSIGNED); ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_ASSIGNED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmTaskEventListener#onAssigned MQ.Data: {}",
com.alibaba.fastjson.JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_TASK_ASSIGNED); sendMessageQueue(dto, PROCESS_TASK_ASSIGNED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmnTaskEventListener#onAssigned...end");
}
} }
@Override @Override
public void onCompleted(DelegateTask delegateTask) { public void onCompleted(DelegateTask delegateTask) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("task completed event"); log.debug("RocketMqBpmnTaskEventListener#onCompleted...");
} }
ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_COMPLETED); ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_COMPLETED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmTaskEventListener#onCompleted MQ.Data: {}",
com.alibaba.fastjson.JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_TASK_COMPLETED); sendMessageQueue(dto, PROCESS_TASK_COMPLETED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmnTaskEventListener#onCompleted...end");
}
} }
@Override @Override
public void onDeleted(DelegateTask delegateTask) { public void onDeleted(DelegateTask delegateTask) {
if (log.isDebugEnabled()) { if (log.isDebugEnabled()) {
log.debug("task deleted event"); log.debug("RocketMqBpmnTaskEventListener#onDeleted...");
} }
ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_DELETED); ProcessTaskDTO dto = build(delegateTask, PROCESS_TASK_DELETED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmTaskEventListener#onDeleted MQ.Data: {}",
com.alibaba.fastjson.JSON.toJSONString(dto));
}
sendMessageQueue(dto, PROCESS_TASK_DELETED); sendMessageQueue(dto, PROCESS_TASK_DELETED);
if (log.isDebugEnabled()) {
log.debug("RocketMqBpmnTaskEventListener#onDeleted...end");
}
} }
private Deployment getDeployment(String processInstanceId) { private Deployment getDeployment(String processInstanceId) {

View File

@ -30,6 +30,9 @@ public class SnapshotBpmnTaskTaskEventListener implements BpmnTaskEventListener,
@Override @Override
public void onAssigned(DelegateTask delegateTask) { public void onAssigned(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("SnapshotBpmnTaskTaskEventListener#onAssigned...");
}
List<BpmnTaskDelegateAssigner> assignerList = List<BpmnTaskDelegateAssigner> assignerList =
(List<BpmnTaskDelegateAssigner>) delegateTask.getVariable(INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + delegateTask.getTaskDefinitionKey()); (List<BpmnTaskDelegateAssigner>) delegateTask.getVariable(INTERNAL_TASK_RELATION_ASSIGNEE_LIST_INFO_SNAPSHOT + delegateTask.getTaskDefinitionKey());
if (CollectionUtils.isEmpty(assignerList)) { if (CollectionUtils.isEmpty(assignerList)) {
@ -48,6 +51,9 @@ public class SnapshotBpmnTaskTaskEventListener implements BpmnTaskEventListener,
// 保存每个 taskId 的审批人 // 保存每个 taskId 的审批人
delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO_SNAPSHOT + delegateTask.getId(), i); delegateTask.setVariable(INTERNAL_TASK_RELATION_ASSIGNEE_INFO_SNAPSHOT + delegateTask.getId(), i);
}); });
if (log.isDebugEnabled()) {
log.debug("SnapshotBpmnTaskTaskEventListener#onAssigned...end");
}
} }
@Override @Override

View File

@ -42,6 +42,9 @@ public class StartNodeAutoCompleteEventListener implements BpmnTaskEventListener
@Override @Override
public void onCreated(DelegateTask delegateTask) { public void onCreated(DelegateTask delegateTask) {
if (log.isDebugEnabled()) {
log.debug("StartNodeAutoCompleteEventListener#onCreated...");
}
Process mainProcess = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId()).getMainProcess(); Process mainProcess = repositoryService.getBpmnModel(delegateTask.getProcessDefinitionId()).getMainProcess();
UserTask userTask = (UserTask) mainProcess.getFlowElement(delegateTask.getTaskDefinitionKey()); UserTask userTask = (UserTask) mainProcess.getFlowElement(delegateTask.getTaskDefinitionKey());
@ -57,5 +60,8 @@ public class StartNodeAutoCompleteEventListener implements BpmnTaskEventListener
taskService.complete(delegateTask.getId(), runtimeService.getVariables(delegateTask.getExecutionId())); taskService.complete(delegateTask.getId(), runtimeService.getVariables(delegateTask.getExecutionId()));
} }
}); });
if (log.isDebugEnabled()) {
log.debug("StartNodeAutoCompleteEventListener#onCreated...end");
}
} }
} }