本地倉庫安裝
rocketmq-spring-boot-starter的依賴包是不能直接從中央倉庫下載的,需要自己通過源碼install到本地倉庫的
#源碼地址
https://github.com/apache/rocketmq-spring
#進入源碼目錄,執(zhí)行如下命令
mvn clean install
下載是注意一下版本問題,選擇2.0.0的,不同版本配置不一樣。

image.png
或者百度云
鏈接:https://pan.baidu.com/s/1ngF8qVLRJtcnMZcSMWi_kQ
提取碼:jzd0
這樣說明安裝成功

image.png
編寫application.properties配置文件
spring.application.name = spring-rocketmq
spring.rocketmq.nameServer=192.168.31.150:9876
spring.rocketmq.producer.group=my-group
生產(chǎn)者發(fā)送消息
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
public class SpringProducer {
// 注入rocketMQ的模板
@Autowired
private RocketMQTemplate rocketMQTemplate;
/**
* 發(fā)送消息
*
* @param topic
* @param msg
*/
public void sendMsg(String topic, String msg) {
this.rocketMQTemplate.convertAndSend(topic, msg);
}
}
消費消息
import org.apache.rocketmq.spring.annotation.ConsumeMode;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;
@Component
@RocketMQMessageListener(
topic = "my-topic",
consumerGroup = "my-group",
selectorExpression = "*"
)
public class SpringConsumer implements RocketMQListener<String> {
@Override
public void onMessage(String msg) {
System.out.println("接收到消息 -> " + msg);
}
}
編寫啟動類
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
編寫測試用例
import org.junit.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;
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestSpringRocketMQ {
@Autowired
private SpringProducer springProducer;
@Test
public void testSendMessage() {
springProducer.sendMsg("my-topic","為什么不打印");
}
}
測試
先啟動springboot,再運行測試用例,即可看到消費者接收到生產(chǎn)者發(fā)送的消息。