
在RabbitMQ已经正常安装好,并且正常登陆 的情况下
在此我会用java代码实现生产者P和消费者C,rabbitMq就是连接他们通信的中间件,用来作为消息缓冲区。我是用的idea作为开发工具
接下来进入正题
为了方便容纳所有的代码,我们先创建空项目,实际上我们要写的是maven项目
自定义项目名称
创建项目完成后,idea让我们建立模块,刚才我说我们实际是maven项目,所以建立Maven模块
我用的是jdk8,当然最推荐的也是8
自定义模块名称,创建,
创建完成成以后,引入相关依赖
com.rabbitmq amqp-client5.8.0 commons-io commons-io2.6
引入依赖并刷新后可以看到,一下内容说明成功
我们需要先写生产者的代码,用来产生消息,发送消息到MQ,再写,消费者用来接受消息
注意把所有的版本改为JDK8
生产者部分。
public class Producer {
public static final String NAME = "Producer";
public static void main(String[] args) throws IOException, TimeoutException {
//创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
//工厂IP 连接MQ
factory.setHost("IP");
//用户名
factory.setUsername("用户");
//密码
factory.setPassword("密码");
//创建连接
Connection connection = factory.newConnection();
//获取信道
Channel channel = connection.createChannel();
//创建队列
channel.queueDeclare(NAME,false,false,false,null);
String msg = "Hello";
channel.basicPublish("",NAME,null,msg.getBytes());
}
}
然后就是消费者代码
package com.zth.rabbit.one;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
public class Producer {
public static final String NAME = "Producer";
public static void main(String[] args) throws IOException, TimeoutException {
//创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
//工厂IP 连接MQ
factory.setHost("IP");
//用户名
factory.setUsername("用户");
//密码
factory.setPassword("密码");
//创建连接
Connection connection = factory.newConnection();
//获取信道
Channel channel = connection.createChannel();
//创建队列
channel.queueDeclare(NAME,false,false,false,null);
String msg = "Hello";
channel.basicPublish("",NAME,null,msg.getBytes());
}
}
测试
生产者产生消息
消费者接收成功
在rabbit可以看到了,消息生产和消费的波段