RabbitMQ交换机

一、交换机的属性

Name:交换机的名称
Type:交换机的类型,direct,topic,fanout,headers
Durability:是否需要持久化
autodelete:假如没有队列绑定到该交换机,那么该交换机会自动删除
Internal:当前交换机是否用户rabbitmq内部使用不常用,默认为false
Argurements:扩展参数,用户扩展AMQP 定制化协议

二、交换机的类型

2.1 直接交换机 direct exchange

所有发送到direct exchange的消息都会被投递到route key名称和queue名称相同的queue上
在这里插入图片描述
举个栗子

public class DirectExchangeProductor {

    public static void main(String[] args) throws IOException, TimeoutException {

        //创建连接工厂
        ConnectionFactory connectionFactory = new ConnectionFactory();
        connectionFactory.setHost("10.101.102.167");
        connectionFactory.setPort(5672);
        connectionFactory.setVirtualHost("test_vm1");
        connectionFactory.setUsername("admin");
        connectionFactory.setPassword("admin");

        //创建连接
        Connection connection = connectionFactory.newConnection();

        //创建channel
        Channel channel = connection.createChannel();

        //定义交换机名称
        String exchangeName = "testDirect1";

        //定义routingKey
        String routingKey = "testExchange1.queue1";

        //消息体内容
        String messageBody = "hello world ";
        channel.basicPublish(exchangeName,routingKey,null,messageBody.getBytes());

    }
}

public class DirectExchangeConsumer {

    public static void main(String[] args) throws IOException, TimeoutException, InterruptedException {

        //创建连接工厂
        ConnectionFactory connectionFactory = new ConnectionFactory();
        connectionFactory.setHost("10.101.102.167");
        connectionFactory.setPort(5672);
        connectionFactory.setVirtualHost("test_vm1");
        connectionFactory.setUsername("admin"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值