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 &