
版本信息先把该次整合的版本信息列如下spring-bootspring-cloudrocketmq-spring-boot-starterrocketmq-clientrocketmq3.0.132022.0.52.2.34.9.84.9.8版本信息是如何选择的呢看rocketMq官网springcloud alibaba版本声明rocketMq我用的是最新的4.X版本4.9.8本地启动rocketMq服务端这块你们找文章看。我是从github上fork后下载到本地。使用idea启动nameSrv和broker构建测试工程先创建父工程用于pom的依赖继承配置属性maven.compiler.source17/maven.compiler.source maven.compiler.target17/maven.compiler.target revision0.0.1/revision project.build.sourceEncodingUTF-8/project.build.sourceEncoding project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding maven.test.skipfalse/maven.test.skip maven.javadoc.skiptrue/maven.javadoc.skip sonar.java.coveragePluginjacoco/sonar.java.coveragePlugin spring-boot-dependencies.version3.0.13/spring-boot-dependencies.version spring.cloud-version2022.0.5/spring.cloud-version com.alibaba.cloud.version2022.0.0.0/com.alibaba.cloud.version knife4j.version2.0.5/knife4j.version注意使用spring-boot 3.x版本后jdk必须要17以上。所以本地需要安装jdk17增加父工程依赖dependencyManagement dependencies dependency !-- Import dependency management from Spring Boot -- groupIdorg.springframework.boot/groupId artifactIdspring-boot-dependencies/artifactId version${spring-boot-dependencies.version}/version typepom/type scopeimport/scope /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-dependencies/artifactId version${spring.cloud-version}/version typepom/type scopeimport/scope /dependency dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-alibaba-dependencies/artifactId version${com.alibaba.cloud.version}/version typepom/type scopeimport/scope /dependency创建子工程使用spring-boot的初始化initializr创建工程并下载放到父工程子目录下修改pom文件?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion4.0.0/modelVersion parent groupIdcom.hjq/groupId artifactIdsunshine-all/artifactId version${revision}/version relativePath../pom.xml/relativePath /parent !-- parent-- !-- groupIdorg.springframework.boot/groupId-- !-- artifactIdspring-boot-starter-parent/artifactId-- !-- version3.2.11/version-- !-- relativePath/ lt;!ndash; lookup parent from repository ndash;gt;-- !-- /parent-- groupIdcom.hjq.sunshine/groupId artifactIddemo/artifactId namedemo/name descriptionDemo project for Spring Boot/description url/ licenses license/ /licenses developers developer/ /developers scm connection/ developerConnection/ tag/ url/ /scm properties java.version17/java.version /properties dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-test/artifactId scopetest/scope /dependency dependency groupIdorg.apache.rocketmq/groupId artifactIdrocketmq-spring-boot-starter/artifactId exclusions exclusion groupIdorg.apache.rocketmq/groupId artifactIdrocketmq-client/artifactId /exclusion /exclusions version2.2.3/version /dependency dependency groupIdorg.apache.rocketmq/groupId artifactIdrocketmq-client/artifactId version4.9.8/version /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency /dependencies build plugins plugin groupIdorg.springframework.boot/groupId artifactIdspring-boot-maven-plugin/artifactId /plugin /plugins /build /project增加生产者消费者启动配置新增application.yml文件rocketmq: producer: group: myProducerGroup name-server: 127.0.0.1:9876新增生产者Component Log public class FirstProduce implements CommandLineRunner { Autowired private RocketMQTemplate rocketMQTemplate; Override public void run(String... args) throws Exception { log.info(1111); SendResult result rocketMQTemplate.syncSend(TestTopic, 1111); log.info(JSONObject.toJSONString(result)); log.info(2222); } }新增消费者package com.hjq.sunshine.demo.rocketmq; import lombok.extern.java.Log; import org.apache.rocketmq.spring.annotation.ConsumeMode; import org.apache.rocketmq.spring.annotation.MessageModel; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.Message; import org.springframework.stereotype.Service; import java.util.function.Consumer; /** * Description * Author hjq * Date 2024/11/21 */ Service Log RocketMQMessageListener(consumerGroup MyConsumer, topic TestTopic, consumeMode ConsumeMode.CONCURRENTLY, messageModel MessageModel.BROADCASTING) public class FirstConsumer implements RocketMQListenerString { Override public void onMessage(String message) { log.info(rece msg: message); } }注意事项。使用spring-boot 3.x版本rocketmq-spring-boot-starter的自动配置会有bug提示rocketMQTemplate没有bean注入。解决方案参考未注入bean启动后测试启动就可以看到如下正常的生产和消费。