Java 消息甚至没有出现在RabbitMQ服务器上
在我的RabbitMQ应用程序中,生产者发送消息,但消费者只接收部分消息(不是最大的消息)。当我在终端中执行rabbitmqctl列表队列时,它显示:Java 消息甚至没有出现在RabbitMQ服务器上,java,rabbitmq,producer-consumer,Java,Rabbitmq,Producer Consumer,在我的RabbitMQ应用程序中,生产者发送消息,但消费者只接收部分消息(不是最大的消息)。当我在终端中执行rabbitmqctl列表队列时,它显示: ~$ sudo rabbitmqctl list_queues Listing queues ... MdnaMessagesQueue 0 ...done. 这意味着消息在进入队列时丢失或很快从队列中取出。所以我不明白为什么会这样。我没有其他可以从该队列获取消息的应用程序。这是我的代码: public class Sender {
~$ sudo rabbitmqctl list_queues
Listing queues ...
MdnaMessagesQueue 0
...done.
这意味着消息在进入队列时丢失或很快从队列中取出。所以我不明白为什么会这样。我没有其他可以从该队列获取消息的应用程序。这是我的代码:
public class Sender {
private static final String QUEUE_NAME = "MdnaMessagesQueue";
public void send(byte[] message) throws IOException {
AMQP.BasicProperties.Builder bob = new AMQP.BasicProperties.Builder();
AMQP.BasicProperties minBasic = bob.build();
AMQP.BasicProperties minPersistentBasic = bob.deliveryMode(2).build();
ExecutorService service = Executors.newFixedThreadPool(10);
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection(service);
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
channel.basicPublish("", QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, message);
channel.close();
connection.close();
}
}
您是否尝试过使用管理插件。电脑重启后,这个问题就消失了,我再也没有遇到过。也许有一个进程一直在“吃掉”消息。也许你没有足够的磁盘空间?