Browse Source

'rabbitmq'

tuonina 6 years ago
parent
commit
3dc7be4192

+ 1 - 1
build.gradle

@@ -105,7 +105,7 @@ subprojects {
         compile('org.springframework.boot:spring-boot-starter-data-redis')
         compile('redis.clients:jedis:2.9.0')
 
-        compile 'org.springframework.cloud:spring-cloud-starter-bus-amqp'
+
         compile('org.springframework.cloud:spring-cloud-starter-config')
 
         testCompile('org.springframework.boot:spring-boot-starter-test')

+ 6 - 0
cloud-bus/README.md

@@ -0,0 +1,6 @@
+# Spring Cloud Bus 消息总线
+服务间消息通知调用。
+
+如果不需要不依赖该包。
+
+用法见里面的代码

+ 14 - 0
cloud-bus/build.gradle

@@ -0,0 +1,14 @@
+apply plugin 'java'
+
+group 'cn.gygxzc.tina'
+version '1.0'
+
+sourceCompatibility = 1.8
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    compile 'org.springframework.cloud:spring-cloud-starter-bus-amqp'
+}

+ 29 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/RabbitConfiguration.java

@@ -0,0 +1,29 @@
+package cn.gygxzc.tina.cloud.bus;
+
+import cn.gygxzc.tina.cloud.bus.constant.QueueName;
+import org.springframework.amqp.core.Queue;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * rabbit配置.
+ * 暂时对这个不了解,暂时使用自动配置结果
+ * 注意分包方式
+ */
+
+@Configuration
+public class RabbitConfiguration {
+
+
+    /***
+     * 这个如果需要使用,改成自己项目的名称
+     * @return 消息队列
+     */
+    @Bean
+    public Queue frameworkQueue() {
+        return new Queue(QueueName.Framework);
+    }
+
+
+}

+ 11 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/constant/QueueName.java

@@ -0,0 +1,11 @@
+package cn.gygxzc.tina.cloud.bus.constant;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 消息队列的名称,固定的
+ */
+
+public interface QueueName {
+    public final String Messager = "Messager";
+    String Framework = "Framework";
+}

+ 27 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/framweork/bean/FrameworkBean.java

@@ -0,0 +1,27 @@
+package cn.gygxzc.tina.cloud.bus.framweork.bean;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 框架消息的实体类
+ */
+
+public class FrameworkBean {
+    private int cloud;
+    private String message;
+
+    public int getCloud() {
+        return cloud;
+    }
+
+    public void setCloud(int cloud) {
+        this.cloud = cloud;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

+ 29 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/framweork/receiver/FrameworkReceiver.java

@@ -0,0 +1,29 @@
+package cn.gygxzc.tina.cloud.bus.framweork.receiver;
+
+import cn.gygxzc.tina.cloud.bus.constant.QueueName;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.amqp.rabbit.annotation.RabbitHandler;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 框架消息接收者,这个扯淡的
+ */
+@Component
+@RabbitListener(queues = {QueueName.Framework})
+public class FrameworkReceiver {
+
+    private Logger logger = LoggerFactory.getLogger(FrameworkReceiver.class);
+
+    /**
+     * 接收消息处理
+     *
+     * @param receiver 消息实体类
+     */
+    @RabbitHandler
+    public void process(FrameworkReceiver receiver) {
+        logger.info("receive :{}", receiver);
+    }
+}

+ 27 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/messager/bean/MessageBean.java

@@ -0,0 +1,27 @@
+package cn.gygxzc.tina.cloud.bus.messager.bean;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 消息发送的实体类
+ */
+
+public class MessageBean {
+    private int code;
+    private String message;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public void setMessage(String message) {
+        this.message = message;
+    }
+}

+ 13 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/messager/sender/IMessagerSender.java

@@ -0,0 +1,13 @@
+package cn.gygxzc.tina.cloud.bus.messager.sender;
+
+import cn.gygxzc.tina.cloud.bus.messager.bean.MessageBean;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 定义发送消息给消息中心的消息发送者
+ */
+
+public interface IMessagerSender {
+
+    public void send(MessageBean message);
+}

+ 33 - 0
cloud-bus/src/main/java/cn/gygxzc/tina/cloud/bus/messager/sender/impl/MessagerSender.java

@@ -0,0 +1,33 @@
+package cn.gygxzc.tina.cloud.bus.messager.sender.impl;
+
+import cn.gygxzc.tina.cloud.bus.constant.QueueName;
+import cn.gygxzc.tina.cloud.bus.messager.bean.MessageBean;
+import cn.gygxzc.tina.cloud.bus.messager.sender.IMessagerSender;
+import org.springframework.amqp.core.AmqpTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by niantuo on 2018/9/29.
+ * 发送给消息中心的发送者
+ */
+@Component
+public class MessagerSender implements IMessagerSender {
+
+    private final AmqpTemplate amqpTemplate;
+
+    @Autowired
+    public MessagerSender(AmqpTemplate amqpTemplate) {
+        this.amqpTemplate = amqpTemplate;
+    }
+
+    /**
+     * 发送消息给消息中心
+     *
+     * @param message 消息内容
+     */
+    @Override
+    public void send(MessageBean message) {
+        amqpTemplate.convertAndSend(QueueName.Messager, message);
+    }
+}

+ 0 - 0
docs/项目相关资料文档整理.md


+ 1 - 0
settings.gradle

@@ -2,4 +2,5 @@ rootProject.name = 'Zen-Framework'
 include 'zen-core'
 include 'zen-api'
 include 'zen-web'
+include 'cloud-bus'
 

+ 0 - 18
zen-job/build.gradle

@@ -1,18 +0,0 @@
-buildscript {
-    repositories {
-        mavenCentral()
-    }
-    dependencies {
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
-        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
-        classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
-    }
-}
-
-dependencies {
-    compile project(":zen-api")
-}
-
-//bootRepackage {
-//    enabled = false
-//}

+ 6 - 2
zen-web/src/main/resources/application-msg.yml

@@ -1,7 +1,9 @@
 spring:
   profiles: dev
   rabbitmq:
-    addresses: 192.168.1.96
+    username: client
+    password: client
+    host: 192.168.1.206
     port: 5672
 
 
@@ -9,6 +11,8 @@ spring:
 spring:
   profiles: prod
   rabbitmq:
-    addresses: 192.168.1.96
+    username: client
+    password: client
+    host: 192.168.1.206
     port: 5672
 

+ 9 - 0
zen-web/src/main/resources/bootstrap.yml

@@ -0,0 +1,9 @@
+spring:
+  application:
+    name: framework
+  cloud:
+    config:
+      profile: dev
+      discovery:
+        enabled: true
+        service-id: messager