导入Maven依赖
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.7.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.22</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
先创建生产者类
public class Provider{
private final static String queueName = "queue2";
public static void main(String[] args){
//创建工厂
ConnectionFactoey factory = new ConnectionFactory();
//设置连接信息
factory.setHost("127.0.0.1");
factory.setPort(5672);
//设置为自己的用户名 and 密码
factory.setUsername("admin");
factoy.setPassword("admin");
factory.setVirtualHost("/");
//创建连接
Connection connection = factory.newConnection();
//创建通道
Channel channel = connection.createChannel();
//设置参数
channel.queqeDeclare(queueName,false,falsefalse,null);
//要发送的消息
String msg = "Hello";
channel.queueDeclare("",queueName,null,msg.getBytes());
System.out.prinln("Sent: "+msg)
}
}
创建消费者
public class Consumer {
private final static String QUEUE_NAME = "queue2";
public static void main(String[] argv) throws Exception {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
factory.setPort(5672);
factory.setUsername("admin");
factory.setPassword("admin");
factory.setVirtualHost("/");
Connection connection = factory.newConnection();
//创建通道
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println(" [*]接收消息中。。。 CTRL+C 退出");
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
String message = new String(delivery.getBody(), "UTF-8");
System.out.println(" [x] 接收到的消息: '" + message + "'");
};
channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> {
System.out.println("consumerTag = " + consumerTag);
});
}
}
- 先运行生产者,运行消费者
- 打开浏览器地址栏输入localhost:15672 点击Queues标签会发现多了这一行

- 这样就完成了
这样就用代码完成了第一个RabbitMQ的程序
让我们努力学习
2021-11-09 21:11:33 星期二
浙公网安备 33010602011771号