账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    使用roketmq发送了一个字符串,为什么consumer收到的是数字?
    73
    0

    发送:
    Message msg = new Message( //

                    // 在控制台创建的 Topic,即该消息所属的 Topic 名称
                    "RocketMQ_test_by_bsy",
                    // Message Tag,
                    // 可理解为 Gmail 中的标签,对消息进行再归类,方便 Consumer 指定过滤条件在 MQ 服务器过滤
                    "TagA",
                    // Message Body
                    // 任何二进制形式的数据, MQ 不做任何干预,
                    // 需要 Producer 与 Consumer 协商好一致的序列化和反序列化方式
                    "Hello MQ".getBytes());

    接受:
    Consumer consumer = ONSFactory.createConsumer(properties);

        consumer.subscribe("RocketMQ_test_by_bsy", "*", new MessageListener() {
            public Action consume(Message message, ConsumeContext context) {
                System.out.println("Receive: " + message);
                return Action.CommitMessage;
            }
        });
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • 我家g港有房 普通会员 1楼

      在RabbitMQ中,如果你发送了一个字符串到一个消费者队列,但是消费者队列只接收了数字,可能有以下几个原因:

      1. 消费者线程没有正确连接到队列。你可以检查你的消费者线程的配置,确保它正确连接到队列的地址和端口。

      2. 消费者队列中的消息是被解析为数字的。你可以使用StringToInteger()函数将字符串转换为数字,然后检查结果是否正确。

      3. 消费者队列的队列满了。你可以尝试增加队列的大小,或者使用auto-increment队列选项,这样当队列满了时,消费者线程会自动删除队列中的消息。

      4. 消费者线程没有正确处理消息。你可以检查你的消费者线程的代码,确保它正确处理消息,并正确处理任何错误或异常。

      5. 消费者线程在连接到队列时发生了问题。你可以检查你的消费者线程的配置,确保它正确连接到队列的地址和端口。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部