update(REQ-2516) - 调整 RPC 动作的 MQ 消费者逻辑

This commit is contained in:
wangli 2024-05-30 14:49:45 +08:00
parent e8b0980a0e
commit 185109d55b
3 changed files with 40 additions and 37 deletions

View File

@ -7,7 +7,7 @@ import cn.axzo.framework.rocketmq.EventHandlerRepository;
import cn.axzo.framework.rocketmq.EventProducer;
import cn.axzo.framework.rocketmq.RocketMQEventProducer;
import cn.axzo.workflow.starter.mq.broadcast.consumer.WorkflowEngineBroadcastEventListener;
import cn.axzo.workflow.starter.mq.retry.consumer.WorkflowEngineClientRetryEventListener;
import cn.axzo.workflow.starter.mq.retry.consumer.WorkflowEngineStarterRetryEventListener;
import cn.axzo.workflow.starter.mq.retry.producer.RpcInvokeEventProducer;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.spring.annotation.ConsumeMode;
@ -143,9 +143,9 @@ public class RocketMQConfiguration {
}
@Bean(initMethod = "init")
public WorkflowEngineClientRetryEventListener workflowEngineClientRetryEventListener(EventConsumer eventConsumer,
Environment environment) {
return new WorkflowEngineClientRetryEventListener(eventConsumer, environment);
public WorkflowEngineStarterRetryEventListener workflowEngineClientRetryEventListener(EventConsumer eventConsumer,
Environment environment) {
return new WorkflowEngineStarterRetryEventListener(eventConsumer, environment);
}
}

View File

@ -1,33 +0,0 @@
package cn.axzo.workflow.starter.mq.retry.consumer;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.workflow.starter.mq.broadcast.consumer.InnerActivityEventListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* TODO
*
* @author wangli
* @since 2024/5/21 16:28
*/
public class WorkflowEngineClientRetryEventListener implements EventHandler {
private final Logger log = LoggerFactory.getLogger(WorkflowEngineClientRetryEventListener.class);
private EventConsumer eventConsumer;
public WorkflowEngineClientRetryEventListener(EventConsumer eventConsumer) {
this.eventConsumer = eventConsumer;
}
public void init() {
eventConsumer.registerHandlers(InnerActivityEventListener.SUPPORTED_EVENT_CODES, this);
}
@Override
public void onEvent(Event event, EventConsumer.Context context) {
}
}

View File

@ -0,0 +1,36 @@
package cn.axzo.workflow.starter.mq.retry.consumer;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.workflow.common.enums.WorkflowEngineEventEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.Environment;
/**
* RPC 动作事件的 MQ 消费者
*
* @author wangli
* @since 2024/5/21 16:28
*/
public class WorkflowEngineStarterRetryEventListener implements EventHandler {
private final Logger log = LoggerFactory.getLogger(WorkflowEngineStarterRetryEventListener.class);
private final EventConsumer eventConsumer;
private final String currentApplicationName;
public WorkflowEngineStarterRetryEventListener(EventConsumer eventConsumer, Environment environment) {
this.eventConsumer = eventConsumer;
this.currentApplicationName = environment.getProperty("spring.application.name");
}
public void init() {
eventConsumer.registerHandler(WorkflowEngineEventEnum.WORKFLOW_ENGINE_STARTER.getEventCode(currentApplicationName), this);
}
@Override
public void onEvent(Event event, EventConsumer.Context context) {
log.info("WorkflowEngineClientRetryEventListener onEvent: {}", event.toPrettyJsonString());
}
}