消息甚至不会出现在RabbitMQ服务器上

时间:2013-04-15 14:45:57

标签: java rabbitmq producer-consumer

在我的RabbitMQ应用程序中,生产者发送消息,但消费者只接收其中的一部分(不是最大的消息)。当我在终端中执行rabbitmqctl list_queues时,它会显示:

~$ 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();
    }
}

0 个答案:

没有答案
相关问题