RocketMQ常见异常及处理方案


The producer service state not OK, SHUTDOWN_ALREADY,RocketMQ异步发送No route info of this topic, topic_e

demo是照着网上写的,同步和单向发送都没有问题,异步发送就有问题,代码如下


public class AsynProducerTest {
    public static void main(String args[]) throws Exception {
        DefaultMQProducer defaultMQProducer = new DefaultMQProducer("demo_provider_group12");
        defaultMQProducer.setNamesrvAddr("127.0.0.1:9876");
        //defaultMQProducer.setInstanceName("myProducer1");
        defaultMQProducer.setRetryTimesWhenSendAsyncFailed(3);
        defaultMQProducer.setVipChannelEnabled(false);
        defaultMQProducer.start();
        for (int i = 0; i < 100; i++) {
            Message message = new Message("topic_example", "tag_a", ("hello AsynRocketMq").getBytes(RemotingHelper.DEFAULT_CHARSET));
            defaultMQProducer.send(message, new SendCallback() {
                @Override
                public void onSuccess(SendResult sendResult) {
                    System.out.println(sendResult.getMsgId());
                }
                @Override
                public void onException(Throwable throwable) {
                    throwable.printStackTrace();
                }
            });

        }
//        **defaultMQProducer.shutdown();**
    }
}

解决方案:

因为有个回调函数,所以这里关闭了就出错了,注释掉就可以了

The broker does not support consumer to filter message by SQL92

解决方案:

修改集群配置文件(*如果是集群环境,非集群环境同理修改配置文件)
/usr/local/software/rocketmq/conf/2m-2s-sync/broker-a.properties
/usr/local/software/rocketmq/conf/2m-2s-sync/broker-b-s.properties
/usr/local/software/rocketmq/conf/2m-2s-sync/broker-b.properties
/usr/local/software/rocketmq/conf/2m-2s-sync/broker-a-s.properti

1. 打开文件

vim /usr/local/software/rocketmq/conf/2m-2s-sync/broker-a.properties

2. 如下图所示添加enablePropertyFilter=true

3. 重启

nohup sh mqbroker -c /usr/local/software/rocketmq/conf/2m-2s-sync/broker-a.properties &


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM