springBoot+rocketMq簡單案例實現

生產者
項目結構
在這裏插入圖片描述
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、啓動項目
在這裏插入圖片描述

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