报错一:
Connected to the target VM, address: '127.0.0.1:53513', transport: 'socket'
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.example.demo.romq.SyncProducer.main(SyncProducer.java:27)
19:54:16.024 [NettyClientSelector_1] INFO RocketmqRemoting - closeChannel: close the connection to remote address[] result: true
解决:
加入 测试代码加入 import com.alibaba.fastjson.JSON;
这个绝对够坑!!!JSON 不管你用不用到都要加入(猜想是内部连接解析需要)
|
引申
启动(如果启动不加指明id也可能报上面的错)
nohup sh ./bin/mqnamesrv &
nohup sh ./bin/mqbroker -n 192.168.3.133:9876 autoCreateTopicEnable=true > broker.log 2>&1 &
关闭
./bin/mqshutdown broker
./bin/mqshutdown namesrv
报错二:
org.apache.rocketmq.client.exception.MQClientException: the specified group[com.hean.iot.device.sent.SentActionCommandService] contains illegal characters, allowing only ^[%|a-zA-Z0-9_-]+$
解决:
rocketmq 的 topic 命名不规范(或者没有定义topic)的错误,命名中只能包含以下字符(这是正则表达式的格式):^[%|a-zA-Z0-9_-]+$