springboot整合rocketmq

1、引入架包(修改pom.xml)

4.7.1
2.1.0



    org.apache.rocketmq
    rocketmq-spring-boot-starter
    ${rocketmq-spring-boot-starter.version}


    org.apache.rocketmq
    rocketmq-client
    ${rocketmq-client.version}

2、连接rocketmq(修改application.yml)

# rocketmq
rocketmq:
        nameServer: localhost:9876
        producer:
                group: newProducer
                topic: newTopic

3、创建生产者


import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @description:
 * @author: bgq
 * @create: 2023/7/21 15:16
 */

@RestController
public class ProducerController {

    @Autowired
    private RocketMQTemplate rocketMQTemplate;
    @RequestMapping("message/send")
    public void send(@RequestBody String msg) {
        try {
            this.rocketMQTemplate.convertAndSend("demo", msg);//使用rocketMQ模板发送信息
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 4、创建消费者

import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

/**
 * @description:
 * @author: bgq
 * @create: 2023/7/21 15:20
 */
@Component
@RocketMQMessageListener(topic = "demo", consumerGroup = "group1")
public class RocketMQCustomerEight implements RocketMQListener {
    private static final Logger logger = LoggerFactory.getLogger(RocketMQCustomerEight.class);
    @Override
    public void onMessage(String message) {
        long starttime = System.currentTimeMillis();
        try{
            record(message);
        }catch (Exception e){
            logger.error("消费失败"+message,e);
        }
        logger.info("testLogVideoTempData28======耗时======"+(System.currentTimeMillis()-starttime));
    }
    public void record(String message) {
        System.out.println("业务逻辑处理");
    }


}

5、修改rocketmq.client的日志级别

import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootVersion;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.core.SpringVersion;

/**
 * 启动程序
 * 
 * @author 
 */
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class TestApplication
{
    public static void main(String[] args)
    {
        System.setProperty("rocketmq.client.logLevel","ERROR");
        SpringApplication.run(TestApplication.class, args);
    }
}

你可能感兴趣的:(rocketmq,springboot,spring,boot,java-rocketmq,rocketmq)