十次方第五天[Java项目]

 

大家需要十次方项目的视频可以关注我的微信公众号,

消息中间件RabbitMQ

win环境下的下载与安装

  1. 下载并安装Eralng 因为RabbitMQ是由Eralng语言开发的,所有要有这个环境
http://erlang.org/download/
  1. 下载并安装RabbitMQ
http://www.rabbitmq.com/install-windows.html

安装的过程中文件夹不能有中文和空格,安装后window服务中就存在了RabbitMQ了,并且是启动状态

  1. 安装管理界面(插件) 进入RabbitMQ安装目录的sbin目录,输入命令
rabbitmq-plugins enable rabbitmq_management
  1. 打开浏览器;
http://127.0.0.1:15672

docker环境下的下载与安装

  1. 下载镜像
docker search rabbitmq.
docker pull rabbitmq:management
  1. 创建容器
docker run -di --name=tensquare_rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
  1. 访问
htp://你的ip:15672/#/

直接模式(Direct)

就是直接走默认的交换器,意思就是没有交换器,是一个空字符串的交换器

创建一个队列

name : itcast
Duribility : 是否持久化
Auto delete : 是否自动删除
  1. 通过代码测试,创建一个maven模块,导入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

配置相应的配置文件和启动类

  1. 编写测试类(生产者)
@RunWith(SpringRunner.class)
@SpringBootTest(classes = RabbitApplication.class)
public class ProductTest {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    @Test
    public void sendMsg(){
        rabbitTemplate.convertAndSend("itcast","直接模式测试");
    }
}
  1. 消费者
@Component
@RabbitListener(queues = "itcast")
public class Customer1 {

    @RabbitHandler
    public void getMsg(String msg){
        System.out.println("直接模式消费" + msg);
    }
}

分裂模式(Fanout)

当我们需要把一个消息发到多个队列时,需要使用这种模式,这个用的不是很多

  1. 首先先创建一个队列,类型是fanout,名字是chuanzhi
  2. 绑定之前定义好的队列,再添加几个队列,方便测试
  3. 测试代码
    @Test
    public void senFanOutdMsg(){
        rabbitTemplate.convertAndSend("chuanzhi","","分裂模式测试");
    }

主题模式模式(topic)

主题模式和分裂模式的区别就是多了routing key(匹配规则)

  1. 测试代码
    @Test
    public void senTopicdMsg(){
        rabbitTemplate.convertAndSend("topictest","good.abc","主题模式测试");
    }

大家需要十次方项目的视频可以关注我的微信公众号,

大家有需要项目视频的可以加我微信yan1242269186

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值