update(REQ-2516) - 实现 RPC 调用动作的 MQ 事件生产者
This commit is contained in:
parent
7bcacc1e19
commit
e8b0980a0e
@ -2,11 +2,12 @@ package cn.axzo.workflow.starter.mq.retry.producer;
|
||||
|
||||
import cn.axzo.framework.rocketmq.Event;
|
||||
import cn.axzo.framework.rocketmq.EventProducer;
|
||||
|
||||
import java.io.Serializable;
|
||||
import cn.axzo.workflow.common.enums.WorkflowEngineEventEnum;
|
||||
import cn.axzo.workflow.common.model.response.mq.WorkflowEngineStarterRpcInvokeDTO;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
* RPC 的调用动作的 MQ 事件生产者
|
||||
*
|
||||
* @author wangli
|
||||
* @since 2024/5/22 10:02
|
||||
@ -14,22 +15,25 @@ import java.io.Serializable;
|
||||
public class RpcInvokeEventProducer {
|
||||
|
||||
private final EventProducer workflowEngineClientEventProducer;
|
||||
private final String currentApplicationName;
|
||||
|
||||
public RpcInvokeEventProducer(EventProducer workflowEngineClientEventProducer) {
|
||||
public RpcInvokeEventProducer(EventProducer workflowEngineClientEventProducer, Environment environment) {
|
||||
this.workflowEngineClientEventProducer = workflowEngineClientEventProducer;
|
||||
this.currentApplicationName = environment.getProperty("spring.application.name");
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送 RPC 调用的事件
|
||||
*
|
||||
* @param shardingKey
|
||||
* @param eventCode
|
||||
* @param data
|
||||
* @param eventEnum {@link WorkflowEngineEventEnum}
|
||||
* @param data {@link WorkflowEngineStarterRpcInvokeDTO}
|
||||
*/
|
||||
public void send(String shardingKey, Event.EventCode eventCode, Serializable data) {
|
||||
public void send(WorkflowEngineEventEnum eventEnum, WorkflowEngineStarterRpcInvokeDTO data) {
|
||||
workflowEngineClientEventProducer.send(Event.builder()
|
||||
.shardingKey(shardingKey)
|
||||
.eventCode(eventCode)
|
||||
.shardingKey(data.getMethodName())
|
||||
.eventCode(eventEnum.getEventCode(currentApplicationName))
|
||||
.targetId(data.getMethodName())
|
||||
.targetType(eventEnum.getTag())
|
||||
.data(data)
|
||||
.build());
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user