RabbitMQ使用者未收到该消息

迈克·鲍曼(Mike Bowman)

我正在尝试使用RabbitMQ消息传递。消息从生产者发送到队列,但消费者未收到。我检查了服务器,它运行正常。

生产者发送者

    //the messageToSend is set in another class.

        private static final String TASK_QUEUE_NAME = "hello";    
        public void writeMessage(Message messageToSend) throws IOException, TimeoutException {
            ConnectionFactory factory = new ConnectionFactory();
            factory.setHost("localhost");
            Connection connection = factory.newConnection();
            Channel channel = connection.createChannel();

            channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);

            String message = messageToSend.getTitle()+" "+messageToSend.getYear()+" "+messageToSend.getPrice();
            channel.basicPublish("", TASK_QUEUE_NAME, null,
                    message.getBytes());

            channel.close();
            connection.close();
    }

消费者接收者

public void readMessage() throws IOException, TimeoutException {
    Socket clientSocket = new Socket(host, port);
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("localhost");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(TASK_QUEUE_NAME, true, false, false, null);

    Consumer consumer = new DefaultConsumer(channel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
                throws IOException {
            String message = new String(body, "UTF-8"); //message is null
            System.out.println(" [x] Received '" + message + "'");
        }
    };
    channel.basicConsume(TASK_QUEUE_NAME, true, consumer);
}

我究竟做错了什么?

硬粒岩

该代码基于一些示例?因为它与RabbitMQ Java指南中显示的形式不同。我会以您使用的方式向您发送邮件,也许您可​​以弄清它所缺少的内容。

QueueingConsumer.Delivery queueMessage = consumer.nextDelivery();
String message = new String(queueMessage.getBody());
// if auto-ack is not set
channel.basicAck(queueMessage.getEnvelope().getDeliveryTag(), false);

这是基于https://www.rabbitmq.com/tutorials/tutorial-two-java.html上的示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RabbitMQ使用者在收到MQTT消息时失败

来自分类Dev

Kafka使用者在kafka.apache.org上运行示例时未收到消息

来自分类Dev

Kafka Java使用者从未收到任何消息

来自分类Dev

RabbitMq使用者未处理消息

来自分类Dev

RabbitMQ消费者未收到生产者发送的消息

来自分类Dev

RabbitMQ重试消息而不从使用者发布

来自分类Dev

Rabbitmq使用者获取不同路由密钥的消息

来自分类Dev

RabbitMQ-如何为新使用者保存消息

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

RabbitMQ死信交换从未收到消息

来自分类Dev

Python Kafka使用者从头开始没有收到消息吗?

来自分类Dev

如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

来自分类Dev

如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

来自分类Dev

使用API时未收到Firebase消息

来自分类Dev

RabbitMQ为断开连接的使用者保留消息多长时间?

来自分类Dev

当没有使用者时,获取消息以保留在RabbitMQ中

来自分类Dev

Java / Spring-从使用者内部发送RabbitMQ消息

来自分类Dev

RabbitMQ-将消息发送到队列中的特定使用者

来自分类Dev

RabbitMQ渠道闲置问题| 如何恢复未确认的AMQP消息| Javaclient使用者

来自分类Dev

RabbitMQ多个使用者订阅相同的队列并获得相同的消息

来自分类Dev

Google Pub/Sub 订阅者未收到消息

来自分类Dev

为什么这个使用者(在servlet上运行)没有收到来自kafka主题的任何消息?

来自分类Dev

如果将group_id设置为None,则Kafka使用者会收到消息,但如果不是None,它不会收到任何消息吗?

来自分类Dev

我如何让RabbitMQ使用者仅接收一条消息而不会超时并发送agan?

来自分类Dev

使用nodeJS在RabbitMQ中删除使用者

来自分类Dev

如何使用Pyspark Streaming模块实现RabbitMQ使用者?

来自分类Dev

如何使用Docker运行RabbitMQ使用者-NodeJS

来自分类Dev

子进程未收到消息

来自分类Dev

ExchangeTimedOutException:未收到OUT消息

Related 相关文章

  1. 1

    RabbitMQ使用者在收到MQTT消息时失败

  2. 2

    Kafka使用者在kafka.apache.org上运行示例时未收到消息

  3. 3

    Kafka Java使用者从未收到任何消息

  4. 4

    RabbitMq使用者未处理消息

  5. 5

    RabbitMQ消费者未收到生产者发送的消息

  6. 6

    RabbitMQ重试消息而不从使用者发布

  7. 7

    Rabbitmq使用者获取不同路由密钥的消息

  8. 8

    RabbitMQ-如何为新使用者保存消息

  9. 9

    RabbitMQ死信交换从未收到消息

  10. 10

    RabbitMQ死信交换从未收到消息

  11. 11

    Python Kafka使用者从头开始没有收到消息吗?

  12. 12

    如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

  13. 13

    如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

  14. 14

    使用API时未收到Firebase消息

  15. 15

    RabbitMQ为断开连接的使用者保留消息多长时间?

  16. 16

    当没有使用者时,获取消息以保留在RabbitMQ中

  17. 17

    Java / Spring-从使用者内部发送RabbitMQ消息

  18. 18

    RabbitMQ-将消息发送到队列中的特定使用者

  19. 19

    RabbitMQ渠道闲置问题| 如何恢复未确认的AMQP消息| Javaclient使用者

  20. 20

    RabbitMQ多个使用者订阅相同的队列并获得相同的消息

  21. 21

    Google Pub/Sub 订阅者未收到消息

  22. 22

    为什么这个使用者(在servlet上运行)没有收到来自kafka主题的任何消息?

  23. 23

    如果将group_id设置为None,则Kafka使用者会收到消息,但如果不是None,它不会收到任何消息吗?

  24. 24

    我如何让RabbitMQ使用者仅接收一条消息而不会超时并发送agan?

  25. 25

    使用nodeJS在RabbitMQ中删除使用者

  26. 26

    如何使用Pyspark Streaming模块实现RabbitMQ使用者?

  27. 27

    如何使用Docker运行RabbitMQ使用者-NodeJS

  28. 28

    子进程未收到消息

  29. 29

    ExchangeTimedOutException:未收到OUT消息

热门标签

归档