Prechádzať zdrojové kódy

对接消息rabbitmq

ZhangManMan 2 rokov pred
rodič
commit
abde40badf

+ 5 - 0
pom.xml

@@ -213,6 +213,11 @@
             <artifactId>lombok</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-amqp</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 45 - 0
src/main/java/com/sky/ioc/message/MessageReceiver.java

@@ -0,0 +1,45 @@
+package com.sky.ioc.message;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sky.ioc.entity.domain.notice.Notice;
+import com.sky.ioc.mapper.notice.NoticeMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.RabbitHandler;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.annotation.AccessType;
+import org.springframework.stereotype.Component;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+
+
+@Component
+@RabbitListener(queues = "message")
+@Slf4j
+public class MessageReceiver {
+
+    @Autowired
+    NoticeMapper noticeMapper;
+
+    @RabbitHandler(isDefault = true)
+    public void process(Message message){
+        log.info("====接收到" + message.getMessageProperties().getConsumerQueue() + "队列的消息=====");
+        log.info(message.getMessageProperties().toString());
+       // System.out.println();
+        JSONObject jsonObject =  JSONObject.parseObject(new String(message.getBody()));
+        Notice notice = new Notice();
+        notice.setTitle(jsonObject.getString("title"));
+        notice.setContent(jsonObject.getString("content"));
+        notice.setReceived(jsonObject.get("staff").toString());
+        if(jsonObject.get("time")!=null){
+            notice.setTime(jsonObject.getString("time"));
+        }else{
+            notice.setTime(new Date()+"");
+        }
+        notice.setCreateTime(new Date()+"");
+        noticeMapper.insert(notice);
+
+        }
+}

+ 22 - 0
src/main/java/com/sky/ioc/message/MessageSender.java

@@ -0,0 +1,22 @@
+package com.sky.ioc.message;
+
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.amqp.core.AmqpTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+@Component
+public class MessageSender {
+    @Autowired
+    private AmqpTemplate rabbitTemplate;
+
+    public void send() {
+       /* JSONObject json = new JSONObject();
+        json.put("title","hello");
+        json.put("time",new Date());
+        System.out.println("Sender : " + json.toJSONString());
+        this.rabbitTemplate.convertAndSend("message", json);*/
+    }
+}

+ 6 - 0
src/main/resources/application-dev.yml

@@ -26,6 +26,12 @@ spring:
     port: 6380
     database: 12
     password: SKYversation
+  rabbitmq:
+    host: 8.130.177.22
+    port: 5672
+    username: admin
+    password: aaaaaa
+
 
 # 日志配置
 logging:

+ 5 - 0
src/main/resources/application-publish.yml

@@ -26,6 +26,11 @@ spring:
     port: 6380
     database: 0
     password: skyversation
+  rabbitmq:
+    host: 8.130.177.22
+    port: 5672
+    username: admin
+    password: aaaaaa
 
 # 日志配置
 logging: