aoshiguchen commented on PR #619: URL: https://github.com/apache/rocketmq-spring/pull/619#issuecomment-1929018005
> Do you have detailed error information? The judgment of namespance is done in rocketmq-client > > org.apache.rocketmq.common.protocol.NamespaceUtil#wrapNamespace 1、My MQ instance has been released and I am currently unable to test and obtain detailed error information. 2、But I can provide the exact error location and a complete reproduction process on my end. 3、Error source code location:org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#sendDefaultImpl. This line: throw (new MQClientException("No route info of this topic: " + msg.getTopic() + FAQUrl.suggestTodo("http://rocketmq.apache.org/docs/faq/"), (Throwable)null)).setResponseCode(10005); 4、Problem reproduction process 4.1、Introducing dependencies: org.apache.rocketmq:rocketmq-spring-boot-starter:2.2.3 4.2、configuration groupId、accessKey、secretKey、nameServer . 4.3、Sending messages using RocketMQTemplate instance 4.4、Start the project and execute it 5、For ease of understanding, you can refer to the following program to manually build RocketMQTemplate instances to reproduce the problem ```java public class Test3 { public static void main(String[] args) throws Exception { String groupId = "xxxx"; String accessKey = "xxx"; String secretKey = "xxx"; String onsAddr = "xxx"; RocketMQProperties properties = new RocketMQProperties(); RocketMQProperties.Producer p = new RocketMQProperties.Producer(); p.setGroup(groupId); p.setAccessKey(accessKey); p.setSecretKey(secretKey); properties.setNameServer(onsAddr); properties.setProducer(p); DefaultMQProducer producer = defaultMQProducer(properties); producer.start(); RocketMQTemplate rocketMQTemplate = new RocketMQTemplate(); rocketMQTemplate.setProducer(producer); rocketMQTemplate.setMessageConverter(new MappingFastJsonMessageConverter()); SendResult sendResult = rocketMQTemplate.syncSend("TP_TEST1", "hello"); System.out.println("msgId:" + sendResult); } /** * This method is derived from:org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration#defaultMQProducer(org.apache.rocketmq.spring.autoconfigure.RocketMQProperties) * @param rocketMQProperties * @return */ public static DefaultMQProducer defaultMQProducer(RocketMQProperties rocketMQProperties) { RocketMQProperties.Producer producerConfig = rocketMQProperties.getProducer(); String nameServer = rocketMQProperties.getNameServer(); String groupName = producerConfig.getGroup(); Assert.hasText(nameServer, "[rocketmq.name-server] must not be null"); Assert.hasText(groupName, "[rocketmq.producer.group] must not be null"); String accessChannel = rocketMQProperties.getAccessChannel(); String ak = rocketMQProperties.getProducer().getAccessKey(); String sk = rocketMQProperties.getProducer().getSecretKey(); boolean isEnableMsgTrace = rocketMQProperties.getProducer().isEnableMsgTrace(); String customizedTraceTopic = rocketMQProperties.getProducer().getCustomizedTraceTopic(); DefaultMQProducer producer = RocketMQUtil.createDefaultMQProducer(groupName, ak, sk, isEnableMsgTrace, customizedTraceTopic); producer.setNamesrvAddr(nameServer); if (StringUtils.hasLength(accessChannel)) { producer.setAccessChannel(AccessChannel.valueOf(accessChannel)); } producer.setSendMsgTimeout(producerConfig.getSendMessageTimeout()); producer.setRetryTimesWhenSendFailed(producerConfig.getRetryTimesWhenSendFailed()); producer.setRetryTimesWhenSendAsyncFailed(producerConfig.getRetryTimesWhenSendAsyncFailed()); producer.setMaxMessageSize(producerConfig.getMaxMessageSize()); producer.setCompressMsgBodyOverHowmuch(producerConfig.getCompressMessageBodyThreshold()); producer.setRetryAnotherBrokerWhenNotStoreOK(producerConfig.isRetryNextServer()); producer.setUseTLS(producerConfig.isTlsEnable()); producer.setNamespace(producerConfig.getNamespace()); producer.setInstanceName(producerConfig.getInstanceName()); return producer; } } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org