生產者
項目結構
1、創建springBoot項目後添加如下依賴
pom.xml
<!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-spring-boot-starter -->
<!-- 支持rocketMq-->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<!-- 支持日誌輸出-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<!-- 執行單元測試時如報錯添加如下依賴-->
<dependency>
<!-- this is needed or IntelliJ gives junit.jar or junit-platform-launcher:1.3.2 not found errors -->
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
2、配置文件
application.properties
#指定rocketMq服務地址
rocketmq.name-server=localhost:9876
#指定分組
rocketmq.producer.group=my_group
3、啓動類
RocketMqProducerApplication.java
package com.qing.zhao.rocketmq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RocketMqProducerApplication {
public static void main(String[] args) {
SpringApplication.run(RocketMqProducerApplication.class, args);
}
}
4、測試類
RocketMqProducerApplicationTests.java
package com.qing.zhao.rocketmq;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@Slf4j
@SpringBootTest(classes = RocketMqProducerApplication.class)
@RunWith(SpringRunner.class)
class RocketMqProducerApplicationTests {
@Autowired
RocketMQTemplate rocketMQTemplate;
@Test
void contextLoads() {
rocketMQTemplate.convertAndSend("producerTopic","hello producer!");
log.info("發送消息成功");
}
}
5、啓動測試類
消費者
項目結構
1、創建springBoot後添加依賴,和生產者相同
2、配置文件
#指定rocketMq服務地址
rocketmq.name-server=localhost:9876
#指定分組
rocketmq.consumer.group=my_group
3、監聽類
package com.qing.zhao.rocketmq;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Component
@RocketMQMessageListener(topic = "producerTopic",consumerGroup = "${rocketmq.consumer.group}")
public class RocketMqConsumerListener implements RocketMQListener<String> {
@Override
public void onMessage(String s) {
System.out.println("接收到消息:"+s);
}
}
4、啓動類
package com.qing.zhao.rocketmq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@Slf4j
@SpringBootApplication
public class RocketMqConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(RocketMqConsumerApplication.class, args);
log.info("消費者啓動成功");
}
}
5、啓動項目