1.创建Maven项目2.导入rabbitmq依赖3.简单队列-生产者Send4.简单队列-消费者Recv运行结果
运行生产者Send运行消费者Recv
说明:
P 是生产者C 是消费者红色方块 队列 1.创建Maven项目
项目目录
3.简单队列-生产者Sendcom.rabbitmq amqp-client 5.7.3
public class Send {
// 定义队列名称
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws Exception {
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 连接工厂配置
factory.setHost("192.168.68.152");
factory.setPort(5672);
factory.setUsername("lwx");
factory.setPassword("lwx");
factory.setVirtualHost("/lwx");
// 创建连接
try(Connection connection = factory.newConnection(); //Connection间接继承了AutoCloseable接口,可以不用手动关闭连接
// 创建信道
Channel channel = connection.createChannel()) {
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
String message = "Hello World!";
// 发送消息
channel.basicPublish("",QUEUE_NAME,null,message.getBytes(StandardCharsets.UTF_8));
System.out.println("[x]Sent'" + message + "'");
}
}
}
4.简单队列-消费者Recv
public class Recv {
// 定义队列名称
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws Exception {
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
// 连接工厂配置
factory.setHost("192.168.68.152");
factory.setPort(5672);
factory.setUsername("lwx");
factory.setPassword("lwx");
factory.setVirtualHost("/lwx");
// 创建连接
Connection connection = factory.newConnection(); //Connection间接继承了AutoCloseable接口,可以不用手动关闭连接
// 创建信道
Channel channel = connection.createChannel();
// 绑定队列
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
System.out.println("[*] Waiting for messages. To exit press CTRL+C");
// 打印消息
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
String message = new String(delivery.getBody(), "UTF-8");
System.out.println("[x] Received '" + message + "'");
};
channel.basicConsume(QUEUE_NAME,true,deliverCallback,consumerTag -> {
});
}
}
运行结果
运行生产者Send



