瀏覽代碼

整合rocketmq;

zlq 3 年之前
父節點
當前提交
1b58e66b52

+ 11 - 1
pom.xml

@@ -140,7 +140,17 @@
140 140
             <groupId>org.apache.commons</groupId>
141 141
             <artifactId>commons-lang3</artifactId>
142 142
         </dependency>
143
-
143
+<!--        springboot整合rocketmq-->
144
+        <dependency>
145
+            <groupId>org.apache.rocketmq</groupId>
146
+            <artifactId>rocketmq-spring-boot-starter</artifactId>
147
+            <version>2.2.1</version>
148
+        </dependency>
149
+        <dependency>
150
+            <groupId>org.apache.rocketmq</groupId>
151
+            <artifactId>rocketmq-client</artifactId>
152
+            <version>4.9.3</version>
153
+        </dependency>
144 154
     </dependencies>
145 155
     <dependencyManagement>
146 156
         <dependencies>

+ 45 - 0
src/main/java/com/unissoft/mqConsumer/TeDataConsumer.java

@@ -0,0 +1,45 @@
1
+package com.unissoft.mqConsumer;
2
+
3
+import com.alibaba.fastjson.JSON;
4
+import com.unissoft.interaction.entity.TeData;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.apache.rocketmq.common.TopicConfig;
7
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
8
+import org.apache.rocketmq.spring.core.RocketMQListener;
9
+import org.springframework.stereotype.Component;
10
+import org.springframework.stereotype.Service;
11
+
12
+/**
13
+ * ClassName: ConService
14
+ * Package: com.unissoft.mqConsumer
15
+ * Description:
16
+ *
17
+ * @Author zlq
18
+ * @Create 2023/3/2 10:36
19
+ * @Version 1.0
20
+ */
21
+@Slf4j
22
+@Component
23
+@RocketMQMessageListener(topic = "TOPIC_LOCAL",consumerGroup = "${rocketmq.consumer.group}",selectorExpression = "teData")
24
+public class TeDataConsumer implements RocketMQListener<TeData> {
25
+
26
+    @Override
27
+    public void onMessage(TeData s) {
28
+        System.out.println("接收到的消息"+s.toString());
29
+    }
30
+//
31
+//    // topic需要和生产者的topic一致,consumerGroup属性是必须指定的,内容可以随意
32
+//    // selectorExpression的意思指的就是tag,默认为“*”,不设置的话会监听所有消息
33
+//    @Service
34
+//    @RocketMQMessageListener(topic = "TOPIC_1", selectorExpression = "tag1", consumerGroup = "Con_Group_One")
35
+//    public class ConsumerSend implements RocketMQListener<TeData> {
36
+//
37
+//        // 监听到消息就会执行此方法
38
+//        @Override
39
+//        public void onMessage(TeData teData) {
40
+//            System.out.println("接收到的消息"+teData.toString());
41
+//            log.info("监听到消息:user={}", JSON.toJSONString(teData));
42
+//        }
43
+//    }
44
+
45
+}

+ 4 - 0
src/main/java/com/unissoft/systemManage/controller/UserInfoController.java

@@ -4,6 +4,7 @@ package com.unissoft.systemManage.controller;
4 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 5
 import com.baomidou.mybatisplus.core.metadata.IPage;
6 6
 import com.unissoft.common.*;
7
+import com.unissoft.mqProducer.Producer;
7 8
 import com.unissoft.systemManage.model.UserInfo;
8 9
 import com.unissoft.systemManage.service.UserInfoService;
9 10
 import com.unissoft.utils.JWTUtil;
@@ -38,6 +39,8 @@ import java.util.UUID;
38 39
 public class UserInfoController {
39 40
 
40 41
     private UserInfoService userInfoService;
42
+    @Autowired
43
+    private Producer producer;
41 44
 
42 45
     @Autowired
43 46
     public void setUserInfoController(UserInfoService userInfoService) {
@@ -72,6 +75,7 @@ public class UserInfoController {
72 75
         userInfo.setUserPassword(MD5Util.getMD5(userInfo.getUserPassword()));
73 76
         String s = UUID.randomUUID().toString().trim().replaceAll("_", "");
74 77
         userInfo.setUserId(s);
78
+        producer.send(userInfo,"userInfo");
75 79
         boolean save = userInfoService.save(userInfo);
76 80
         if (save)
77 81
             return ResultView.success();

+ 16 - 5
src/main/resources/bootstrap.yml

@@ -13,11 +13,12 @@ spring:
13 13
     driver-class-name: com.mysql.cj.jdbc.Driver
14 14
     #username: root
15 15
     #password: 123456
16
-    #url: jdbc:mysql://127.0.0.1:3306/numberEC?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
16
+#    url: jdbc:mysql://127.0.0.1:3306/numberec?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
17 17
     username: root
18 18
     password: 123456
19 19
     # 06 to 02 可外网访问,不必vpn。
20
-    url: jdbc:mysql://101.36.160.140:31004/numberEC?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
20
+#    url: jdbc:mysql://101.36.160.140:31004/numberEC?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
21
+    url: jdbc:mysql://101.36.160.140:31004/numberEC?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
21 22
 
22 23
     # Hikari pool https://github.com/brettwooldridge/HikariCP
23 24
     type: com.zaxxer.hikari.HikariDataSource
@@ -57,7 +58,17 @@ spring:
57 58
     title: spring-boot-starter-swagger
58 59
     version: 1.1.0.RELEASE
59 60
 mybatis-plus:
60
-  # 如果是放在resource目录 classpath:/mapper/**.xml或(多包)classpath:/mapper/*/**.xml
61
-  mapper-locations: classpath:/mapper/*/**.xml
61
+#  # 如果是放在resource目录 classpath:/mapper/**.xml或(多包)classpath:/mapper/*/**.xml
62
+  mapper-locations: classpath:/mapper/*/*.xml
62 63
 # 操作日志版本号,或启动时写入
63
-version: 20121021
64
+version: 20121021
65
+
66
+rocketmq:
67
+  name-server: 192.168.8.142:9876 # 访问地址
68
+  consumer:
69
+    group: consumer_number
70
+  producer:
71
+    group: Group_local # 必须指定group
72
+    send-message-timeout: 3000 # 消息发送超时时长,默认3s
73
+    retry-times-when-send-failed: 3 # 同步发送消息失败重试次数,默认2
74
+    retry-times-when-send-async-failed: 3 # 异步发送消息失败重试次数,默认2