1.pom.xml:
<dependency>
<groupld>com . rabbitmq</groupld>
<artifactld>amqp- client</artifactld>
<version>4 . 2 . 1</version>
</dependency>
2.用户:
默认情况,RabbitMQ 服务的用户名和密码都是"guest " ,只能通过本地网络(如localhost) 访问。
添加用户:
# rabbitmqctl add user root root123
设置权限:
# rabbitmqctl set_permissions - p / root ".*" ".*" ".*"
设置root为管理员
# rabbitmqctl set_user_tags root administrator
3.client调用:
4.RabbitMQ 不支持队列层面的广播消费,如果需要广播消费,需要在其上进行二次开发,处理逻辑会变得异常复杂,同时也不建议这么做。
5.交换器类型:
(1)fanout 类型的交换器就会无视BindingKey , 而是将消息路由到所有绑定到该交换器的队列中。
(2)direct 类型的交换器RoutingKey 和BindingKey 需要完全匹配才能使用
(3)topic 类型的交换器,RoutingKey 和BindingKey 之间需要做模糊匹配,两者并不是相同的。
(4)headers 类型的交换器
6.交换器类型匹配规则:
(1)RoutingKey 为一个点号". "分隔的字符串(被点号" "分隔开的每一段独立的字符串称为一个单词),"com.rabbitmq.client","java.util.concurrent", "com.hidden.client" ;
(2)令BindingKey 和RoutingKey 一样也是点号" ."分隔的字符串;
(3)BindingKey 中可以存在两种特殊字符串"*"和"#",用于做模糊匹配,其中"#"用于匹配一个单词,吁"用于匹配多规格单词(可以是零个)。
7.多线程问共享Channel 实例是非线程安全的。
最后,希望本文对你有帮助,领个红包吧!