Direct Exchange 需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “cat”,则只有被标记为“cat”的消息才被转发,不会转发到以dog为路由键的queue上,只会转发cat作为路由键的queue上。
任何发送到Direct Exchange的消息都会被转发到RouteKey中指定的Queue。
1、一般情况可以使用rabbitMQ自带的Exchange:”"(该Exchange的名字为空字符串,下文称其为default Exchange)。
2、消息传递时需要一个“RouteKey”,可以简单的理解为要发送到的队列名字。
3、如果vhost中不存在RouteKey中指定的队列名,则该消息会被抛弃
编码实践
一、生产者和消费者模型
1、创建连接(生产端)
Connection connection = null;
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost("youHost