Spring boot 项目(二十五)——集成rocketmq实现简单的消息测试

代码编写

pom文件
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot</artifactId>
            <version>2.2.2</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
yml文件
server:
  port: 8080

spring:
  application:
    name: springboot-rocketmq

rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: producerGroup
consumer
package com.example.demo.example3.service;

import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class ConsumerService {

    private RocketMQTemplate rocketMQTemplate;

    @Autowired
    public void setRocketMQTemplate(RocketMQTemplate rocketMQTemplate) {
        this.rocketMQTemplate = rocketMQTemplate;
    }

    public void createOrder(String name){
        System.out.println("正在生成订单。。。");
        rocketMQTemplate.convertAndSend("topic_rocket",name);
    }
}

provider
package com.example.demo.example3.service;

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Service;

@Service
@RocketMQMessageListener(consumerGroup = "consumerGroup",topic = "topic_rocket", selectorExpression = "*")
public class ProductService implements RocketMQListener {

    @Override
    public void onMessage(Object o) {
        System.out.println("正在生产"+o);
        System.out.println(o+"生产成功");
    }
}

测试类
package com.example.demo.example3.controller;

import com.example.demo.example3.service.ConsumerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/shop")
public class ShopController {

    @Autowired
    ConsumerService consumerService;

    @RequestMapping("/createOrder")
    public void createOrder(){
        consumerService.createOrder("阿莫斯之弓");
    }
}

测试结果

在这里插入图片描述