整合RocketMq提示RemotingTooMuchRequestException: sendDefaultImpl call timeout

在雲服務器上安裝RocketMq後,項目整合測試

啓動好nameServer和Broker之後, 啓動生產者會報這樣的錯誤 

Exception in thread "main" org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.sendDefaultImpl(DefaultMQProducerImpl.java:588)
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1223)
	at org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl.send(DefaultMQProducerImpl.java:1173)
	at org.apache.rocketmq.client.producer.DefaultMQProducer.send(DefaultMQProducer.java:214)
	at com.baojian.mob.base.producer.SyncProducer.main(SyncProducer.java:41)
15:22:31.455 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true
15:22:32.049 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true

原因: BrokerIP展示的是雲服務器的本地IP,不是公網IP;

解決方法:

在conf/broker.conf 中 加入 兩行配置

namesrvAddr = 你的公網IP:9876

brokerIP1=你的公網IP

 

重新啓動 broker

啓動broker的指令要修改下, 要將這個配置文件指定加載

nohup sh mqbroker -n localhost:9876 -c ../conf/broker.conf autoCreateTopicEnable=true &

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章