码迷,mamicode.com
首页 > 编程语言 > 详细

spring cloud bus

时间:2018-01-15 13:36:37      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:imp   oid   提示   blog   查看   star   send   没有权限   .config   

RabbitMQ

在docker中运行rabbitmq

docker run -d -p 5672:5672  -p 8080:15672 rabbitmq:3-management

浏览器打开:http://10.202.203.29:8080/

默认用户名/密码都是guest

在Admin页面添加用户

技术分享图片

新添加的用户是没有权限的

技术分享图片

点击用户名进去,按提示添加权限

技术分享图片

这样就可以在程序中访问了。

 

创建spring boot 项目,添加pom依赖

技术分享图片
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
View Code

添加发送类Sender

技术分享图片
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 Sender {
    @Autowired
    private AmqpTemplate amqpTemplate;

    public void send(){
        String context="hello "+new Date();
        System.out.println("Sender: "+context);
        amqpTemplate.convertAndSend("hello",context);
    }
}
View Code

添加接收类Receiver

技术分享图片
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
@RabbitListener(queues = "hello")
public class Receiver {
    @RabbitHandler
    public void process(String hello){
        System.out.println("Receiver: "+hello);
    }
}
View Code

添加配置类RabbitConfig

技术分享图片
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RabbitConfig {
    @Bean
    public Queue helloQueue(){
        return new Queue("hello");
    }
}
View Code

配置文件

技术分享图片
spring.application.name=rabbitmq-hello

spring.rabbitmq.host=10.202.203.29
spring.rabbitmq.port=5672
spring.rabbitmq.username=springcloud
spring.rabbitmq.password=123456
View Code

单元测试

技术分享图片
@RunWith(SpringRunner.class)
@SpringBootTest
public class RabbitmqHelloApplicationTests {
    @Autowired
    private Sender sender;
    @Test
    public void contextLoads() {
        sender.send();
    }
}
View Code

启动应用,在RabbitMQ管理界面中查看连接

技术分享图片

 

运行单元测试,可以在控制台看到结果

技术分享图片

 

再查看管理页面

技术分享图片

 

技术分享图片

技术分享图片

 

spring cloud bus

标签:imp   oid   提示   blog   查看   star   send   没有权限   .config   

原文地址:https://www.cnblogs.com/uptothesky/p/8287541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!