From 528d0f0d280b0870819803849beea88cc9ceedd9 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Mon, 18 Sep 2023 18:49:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0tag=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rocketmq/EventProduceTemplate.java | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java index 630cf16..92a9d26 100644 --- a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java +++ b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java @@ -25,55 +25,73 @@ public class EventProduceTemplate { private String defaultName = "BUSINESS"; - public EventProduceTemplate(RockerEventProduceFactory rockerProduceFactory){ + public EventProduceTemplate(RockerEventProduceFactory rockerProduceFactory) { this.rockerProduceFactory = rockerProduceFactory; } - public EventProduceTemplate(RockerEventProduceFactory rockerProduceFactory, String serverModule, String serverName){ + public EventProduceTemplate(RockerEventProduceFactory rockerProduceFactory, String serverModule, String serverName) { this.rockerProduceFactory = rockerProduceFactory; this.defaultModule = serverModule; this.defaultName = serverName; } - public void send(String topic, Object message){ - send(topic,defaultModule,defaultName, message, null, null, null); + public void send(String topic, Object message, String tag) { + send(topic, defaultModule, defaultName, message, null, null, null, tag); + } + + + public void send(String topic, Object message) { + send(topic, message, null); } /** * desc: 发送分区消息,消息按shardingKey做分区,可以保证同一个分区类的消息FIFO,适合消息体量大,有顺序消费的场景 + * * @Param: [topic, module, name, message, targetId, targetType] - ` * topic 消息主题 + * ` * topic 消息主题 */ - public void sendShardingMsg(String topic, Object message, String shardingKey){ - sendShardingMsg(topic, message, shardingKey, null, null); + public void sendShardingMsg(String topic, Object message, String shardingKey) { + sendShardingMsg(topic, message, shardingKey, null); + } + + public void sendShardingMsg(String topic, Object message, String shardingKey, String tag) { + sendShardingMsg(topic, message, shardingKey, null, null, tag); } /** * desc: 发送分区消息,消息按shardingKey做分区,可以保证同一个分区类的消息FIFO,适合消息体量大,有顺序消费的场景 + * * @Param: [topic, module, name, message, targetId, targetType] - ` * topic 消息主题 + * ` * topic 消息主题 * targetId 事件目标对象ID 例如:人员注册,targetId可以设置为user.id,此字段慎传,若shardingKey为空,此时会拿取targetId做为shardingKey,将导致分区不可控 * targetType 事件目标类型 例如:user-create ,可用于过滤数据 */ - public void sendShardingMsg(String topic, Object message, String shardingKey, String targetId, String targetType){ - send(topic,defaultModule,defaultName, message, shardingKey, targetId, targetType); + public void sendShardingMsg(String topic, Object message, String shardingKey, String targetId, String targetType, String tag) { + send(topic, defaultModule, defaultName, message, shardingKey, targetId, targetType, tag); } /** * @Param: [topic, module, name, message, targetId, targetType] -` * topic 消息主题 ,必填 + * ` * topic 消息主题 ,必填 * module 业务模块 * name 业务名称 * targetId 事件目标对象ID 例如:人员注册,targetId可以设置为userId ,此字段慎传,若shardingKey为空,此时会拿取targetId做为shardingKey,将导致分区不可控 * targetType 事件目标类型 例如:user-create, user-delete,可用于过滤数据 * message 消息内容 ,必填 */ - public void send(String topic, String module, String name, Object message, String shardingKey, String targetId, String targetType){ + public void send(String topic, String module, String name, Object message, String shardingKey, String targetId, String targetType) { + send(topic, module, name, message, shardingKey, targetId, targetType, null); + } + + public void send(String topic, String module, String name, Object message, String shardingKey, String targetId, String targetType, String tag) { //检查参数 - checkParam(topic,message); + checkParam(topic, message); Event.EventCode eventCode = new Event.EventCode(module, name); EventProducer.Context content = EventProducer.Context.builder() - .meta(RocketMQEventProducer.RocketMQMessageMeta.builder().topic(topic).build()).build(); + .meta(RocketMQEventProducer.RocketMQMessageMeta.builder() + .topic(topic) + //.tag(tag) + .build()).build(); if (StringUtils.isEmpty(targetType)) { targetType = topic; @@ -87,8 +105,7 @@ public class EventProduceTemplate { .operatorId("operatorId").data(message.toString()).build(), content); } - - private void checkParam(String topic, Object message){ + private void checkParam(String topic, Object message) { Objects.requireNonNull(topic, "topic not null"); Objects.requireNonNull(message, "message not null"); } From a71199f3ff72dec79e7b7195e2c65d8bb232d5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Tue, 26 Sep 2023 18:11:43 +0800 Subject: [PATCH 2/4] fix send message type --- .../rocketmq/EventProduceTemplate.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java index 92a9d26..7290867 100644 --- a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java +++ b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.io.Serializable; import java.util.Objects; /** @@ -35,12 +36,12 @@ public class EventProduceTemplate { this.defaultName = serverName; } - public void send(String topic, Object message, String tag) { + public void send(String topic, Serializable message, String tag) { send(topic, defaultModule, defaultName, message, null, null, null, tag); } - public void send(String topic, Object message) { + public void send(String topic, Serializable message) { send(topic, message, null); } @@ -50,11 +51,11 @@ public class EventProduceTemplate { * @Param: [topic, module, name, message, targetId, targetType] * ` * topic 消息主题 */ - public void sendShardingMsg(String topic, Object message, String shardingKey) { + public void sendShardingMsg(String topic, Serializable message, String shardingKey) { sendShardingMsg(topic, message, shardingKey, null); } - public void sendShardingMsg(String topic, Object message, String shardingKey, String tag) { + public void sendShardingMsg(String topic, Serializable message, String shardingKey, String tag) { sendShardingMsg(topic, message, shardingKey, null, null, tag); } @@ -66,7 +67,7 @@ public class EventProduceTemplate { * targetId 事件目标对象ID 例如:人员注册,targetId可以设置为user.id,此字段慎传,若shardingKey为空,此时会拿取targetId做为shardingKey,将导致分区不可控 * targetType 事件目标类型 例如:user-create ,可用于过滤数据 */ - public void sendShardingMsg(String topic, Object message, String shardingKey, String targetId, String targetType, String tag) { + public void sendShardingMsg(String topic, Serializable message, String shardingKey, String targetId, String targetType, String tag) { send(topic, defaultModule, defaultName, message, shardingKey, targetId, targetType, tag); } @@ -79,11 +80,11 @@ public class EventProduceTemplate { * targetType 事件目标类型 例如:user-create, user-delete,可用于过滤数据 * message 消息内容 ,必填 */ - public void send(String topic, String module, String name, Object message, String shardingKey, String targetId, String targetType) { + public void send(String topic, String module, String name, Serializable message, String shardingKey, String targetId, String targetType) { send(topic, module, name, message, shardingKey, targetId, targetType, null); } - public void send(String topic, String module, String name, Object message, String shardingKey, String targetId, String targetType, String tag) { + public void send(String topic, String module, String name, Serializable message, String shardingKey, String targetId, String targetType, String tag) { //检查参数 checkParam(topic, message); Event.EventCode eventCode = new Event.EventCode(module, name); @@ -102,7 +103,7 @@ public class EventProduceTemplate { .targetType(targetType).eventCode(eventCode) .eventModule(module) .eventName(name) - .operatorId("operatorId").data(message.toString()).build(), content); + .operatorId("operatorId").data(message).build(), content); } private void checkParam(String topic, Object message) { From b61fca5f36a41103d889ec0bc57d984677513150 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Tue, 26 Sep 2023 18:16:35 +0800 Subject: [PATCH 3/4] remove import --- .../java/cn/axzo/framework/rocketmq/EventProduceTemplate.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java index 7290867..0c53182 100644 --- a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java +++ b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java @@ -1,10 +1,7 @@ package cn.axzo.framework.rocketmq; -import cn.axzo.framework.rocketmq.utils.UUIDBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Objects; From 359cb249fe22508cd3ba0a456eb44ce6555107f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Tue, 26 Sep 2023 18:19:08 +0800 Subject: [PATCH 4/4] remove import --- .../java/cn/axzo/framework/rocketmq/EventProduceTemplate.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java index 0c53182..07146b0 100644 --- a/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java +++ b/axzo-common-rocketmq/src/main/java/cn/axzo/framework/rocketmq/EventProduceTemplate.java @@ -88,7 +88,7 @@ public class EventProduceTemplate { EventProducer.Context content = EventProducer.Context.builder() .meta(RocketMQEventProducer.RocketMQMessageMeta.builder() .topic(topic) - //.tag(tag) + .tag(tag) .build()).build(); if (StringUtils.isEmpty(targetType)) {