创建交换机函数说明:
这里说明的是三个参数创建交换机的函数
Exchange.DeclareOk exchangeDeclare(String exchange, String type, boolean durable) throws IOException;
参数 | 含义 |
---|---|
exchange | 交换机名称 |
type | 交换机类型,取值:direct、fanout、topic、headers |
durable | 是否持久化 |
注意:如果该交换机已经存在就放弃创建,如果不存在就创建交换机,该函数不一定一定要调用,只要使用的交换机存在即可。由于headers和direct交换机的原理的差不多,不过direct的性能比header性能要好所以不使用headers交换机。
Queue.BindOk queueBind(String queue, String exchange, String routingKey) throws IOException;
参数 | 含义 |
---|---|
queue | 队列名 |
exchange | 交换机名称 |
routingKey | 消息的routingKey,也可以理解为BindingKey |
注意:在进行交换机与队列绑定时,要确保队列和交换机已存在。
void basicPublish(String exchange, String routingKey, BasicProperties props, byte[] body) throws IOException;
参数 | 含义 |
---|---|
exchange | 交换机的名称 |
routingKey | routingKey,消息发送到指定队列的值 |
props | 消息的属性,通常为null即可 |
body | 消息体,即要发送具体消息到队列中,到哪个队列有routingKey决定 |
注意:发送消息时必须确保交换机存在并确保正确的绑定到队列中。
案例
发送方:
public class Send {
public static void main(String[] args) {
ConnectionFactory factory=new ConnectionFactory();
factory.setHost("192.168.79.140");
factory.setPort(5672);
factory