xujunwei 4 yıl önce
ebeveyn
işleme
e1dccab402

+ 2 - 4
framework-starter/mrxu-starter-rocketmq/src/main/java/com/mrxu/framework/starter/rocketmq/README.txt

@@ -1,8 +1,6 @@
 ## 使用配置rocketmq
 rocketmq:
-    name-server: http://127.0.0.1:9876 #rocketmq服务地址
+    name-server: 127.0.0.1:9876 #rocketmq服务地址
     producer:
-        group: rocketmq_test #自定义的组名称
-        access-key: rocketmq2
-        secret-key: 12345678
+        group: group_test #自定义的组名称
         send-message-timeout: 3000 #消息发送超时时长

+ 23 - 14
framework-starter/mrxu-starter-rocketmq/src/main/java/com/mrxu/framework/starter/rocketmq/RocketMQSender.java

@@ -1,18 +1,17 @@
 package com.mrxu.framework.starter.rocketmq;
 
-import org.apache.rocketmq.client.producer.SendCallback;
 import org.apache.rocketmq.spring.core.RocketMQTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.messaging.Message;
 import org.springframework.messaging.support.MessageBuilder;
 import org.springframework.stereotype.Service;
 
 /**
  * 功能概要:[] <br>
- *
- * @author 上研院 zhuzhoutong
  * @date 2021/11/17
  */
+@Service
 public class RocketMQSender {
 
     /**
@@ -27,49 +26,59 @@ public class RocketMQSender {
     @Value("${rocketmq.producer.send-message-timeout:3000}")
     private Long messageTimeOut;
 
-    /**
+    public void sendMsg(String topic,String tag,String key) {
+        Message message = MessageBuilder.withPayload("").setHeader("KEYS", key).build();
+        rocketMQTemplate.syncSend(topic+":"+tag,message,messageTimeOut);
+    }
+
+    public void sendMsg(String topic,String tag,String key,Object body) {
+        Message message = MessageBuilder.withPayload(body).setHeader("KEYS", key).build();
+        rocketMQTemplate.syncSend(topic+":"+tag,message,messageTimeOut);
+    }
+
+/*    *//**
      * 发送普通消息
      * @param destination 发送队列
      * @param message 发送内容
-     */
+     *//*
     public void sendMsg(String destination, Object message){
         this.sendMsg(destination,message,messageTimeOut);
     }
 
-    /**
+    *//**
      * 发送消息
      * @param destination 队列
      * @param message 消息
      * @param timeOut 超时
-     */
+     *//*
     public void sendMsg(String destination, Object message,Long timeOut){
         rocketMQTemplate.syncSend(destination,MessageBuilder.withPayload(message).build(),timeOut);
     }
 
-    /**
+    *//**
      * 发送异步消息 在SendCallback中可处理相关成功失败时的逻辑
-     */
+     *//*
     public void sendAsyncMsg(String destination, Object message,SendCallback sendCallback){
         this.sendAsyncMsg(destination,message,sendCallback,messageTimeOut);
     }
 
-    /**
+    *//**
      * 异步发送消息
      * @param destination 队列
      * @param message 消息
      * @param sendCallback 回调
      * @param timeOut 超时
-     */
+     *//*
     public void sendAsyncMsg(String destination, Object message,SendCallback sendCallback,Long timeOut){
         rocketMQTemplate.asyncSend(destination,message,sendCallback,timeOut);
     }
 
-    /**
+    *//**
      * 发送延时消息<br/>
      * 在start版本中 延时消息一共分为18个等级分别为:1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h<br/>
-     */
+     *//*
     public void sendDelayMsg(String destination, Object msgBody, Integer delayLevel){
         rocketMQTemplate.syncSend(destination,MessageBuilder.withPayload(msgBody).build(),messageTimeOut,delayLevel);
-    }
+    }*/
 
 }

+ 15 - 0
framework-starter/mrxu-starter-rocketmq/src/main/java/com/mrxu/framework/starter/rocketmq/anno/EnableRocketmq.java

@@ -0,0 +1,15 @@
+package com.mrxu.framework.starter.rocketmq.anno;
+
+
+import com.mrxu.framework.starter.rocketmq.config.RocketmqAutoConfig;
+import org.springframework.context.annotation.Import;
+
+import java.lang.annotation.*;
+
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+@Inherited
+@Import(RocketmqAutoConfig.class)
+public @interface EnableRocketmq {
+}

+ 4 - 14
framework-starter/mrxu-starter-rocketmq/src/main/java/com/mrxu/framework/starter/rocketmq/config/RocketmqAutoConfig.java

@@ -1,20 +1,10 @@
 package com.mrxu.framework.starter.rocketmq.config;
 
-import com.mrxu.framework.starter.rocketmq.RocketMQSender;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 
-/**
- * 功能概要:[] <br>
- *
- * @author 上研院 zhuzhoutong
- * @date 2021/11/19
- */
-@Configuration
+@ComponentScan({"com.mrxu.framework.starter.rocketmq"})
+@EnableAspectJAutoProxy
 public class RocketmqAutoConfig {
 
-    @Bean
-    public RocketMQSender rocketMQSender(){
-        return new RocketMQSender();
-    }
 }

+ 0 - 2
framework-starter/mrxu-starter-rocketmq/src/main/resources/META-INF/spring.factories

@@ -1,2 +0,0 @@
-# 指定开启自动配置类
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.mrxu.framework.starter.rocketmq.config.RocketmqAutoConfig