【RabbitMQ消费者-用Java代码创建一个消费者并消费队列的数据报错:RabbitListenerEndpointContainer ConditionalRejectingErrorHand】

用Java写一个消费者,消费RabbitMQ里面队列的信息

application.yml
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
报错如下:在这里插入图片描述

解决办法:
由于版本原因,找不到方法,注解写在方法上面
注解写成这样就可以了
在这里插入图片描述
RabbitMQ版本:
在这里插入图片描述

Java中,使用RabbitMQ作为消息队列系统,你可以通过AMQP协议创建消费者来接收消息。以下是一个简单的示例,展示如何使用`pika`库来构建一个消费者: ```java import com.rabbitmq.client.*; public class RabbitMQConsumer { private final ConnectionFactory factory; private final String queueName; public RabbitMQConsumer(String host, int port, String username, String password, String queue) { factory = new ConnectionFactory(); factory.setHost(host); factory.setUsername(username); factory.setPassword(password); this.queueName = queue; } public void startConsuming() throws IOException, ChannelClosedException { // 创建连接 Connection connection = factory.newConnection(); // 创建通道 Channel channel = connection.createChannel(); // 声明队列 channel.queueDeclare(queueName, false, false, false, null); // 配置消费模式为自动确认(即消息消费完后会自动确认) channel.basicQos(1); // 定义消费回调函数 DeliverCallback deliverCallback = (consumerTag, delivery) -> { String message = new String(delivery.getBody(), "UTF-8"); System.out.println("Received message: " + message); // 这里可以处理接收到的消息,然后确认消费 channel.basicAck(delivery.getDeliveryTag(), false); // 手动确认 }; // 消费者开始接收消息 channel.basicConsume(queueName, true, deliverCallback, consumerTag -> { }); try { Thread.sleep(Long.MAX_VALUE); // 等待无限期 } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { try { new RabbitMQConsumer("localhost", 5672, "guest", "guest", "my_queue").startConsuming(); } catch (Exception e) { e.printStackTrace(); } } } ``` 这个例子中,消费者会一直监听指定的队列打印接收到的每一条消息。记得替换`host`, `port`, `username`, `password`, 和 `queue`为你实际的RabbitMQ服务器配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值