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 &