- 连接RabbitMQ
连接需要Ip,有户名,密码,端口号。
//创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
//设置rabbitmq-server服务IP地址
factory.setHost("192.168.0.223");
//用户名
factory.setUsername("admin");
//密码
factory.setPassword("123456");
//端口号
factory.setPort(5672);
//创建连接
Connection connection = factory.newConnection();
//创建一个信道,一个连接可以创建多个信道,信道相当于一个连接的代理。非线程安全,一个线程创建一个信道,避免发送确认机制的错误运行。
Channel channel = connection.createChannel();
- 交换器的使用
- 声明一个交换器
//创建一个持久化的非排他的,非自动删除的队列
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
//创建一个type="direct"的持久化的,非制动删除的交换器
channel.exchangeDeclare(EXCHANGE_NAME, "direct", true, false, null);
- exchangeDeclare详解
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, String string1) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, BuiltinExchangeType bet) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, String string1, boolean bln) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, BuiltinExchangeType bet, boolean bln) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, String string1, boolean bln, boolean bln1, Map<String, Object> map) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, BuiltinExchangeType bet, boolean bln, boolean bln1, Map<String, Object> map) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, String string1, boolean bln, boolean bln1, boolean bln2, Map<String, Object> map) throws IOException;
public AMQP.Exchange.DeclareOk exchangeDeclare(String string, BuiltinExchangeType bet, boolean bln, boolean bln1, boolean bln2, Map<String, Object> map) throws IOException;
这里就介绍一个最常用。
public AMQP.Exchange.DeclareOk exchangeDeclare(String exchange, String type, boolean bln, boolean bln1, boolean bln2,Map<String, Object> map) throws IOException;
- exchange:交换器名称,这里是根据自己项目需要取名字。
- type:交换器类型,比如上面的“direct”。<