• springboot+rocketmq 快速入门面试篇


    没有rocketmq的参考:

     https://www.cnblogs.com/qq3245792286/p/16045989.html

    来一个空maven项目:

    springboot-rocketmq

    pom.xml

    <properties>
    <nacos.version>1.0.1</nacos.version>
    <spring-boot-dependencies.version>2.3.0.RELEASE</spring-boot-dependencies.version>
    <spring-cloud-dependencies.version>Hoxton.SR5</spring-cloud-dependencies.version>
    <spring-cloud-alibaba-dependencies.version>2.2.1.RELEASE</spring-cloud-alibaba-dependencies.version>
    </properties>

    <dependencyManagement>
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>${spring-boot-dependencies.version}</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>

    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>${spring-cloud-dependencies.version}</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>

    <dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>${spring-cloud-alibaba-dependencies.version}</version>
    <type>pom</type>
    <scope>import</scope>
    </dependency>
    </dependencies>
    </dependencyManagement>


    
    
    

    子工程:rocketmq-product-service
    pom.xml

    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.1.1</version>
    </dependency>

    </dependencies>

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!-- <version>2.3.12.RELEASE</version>-->
    </plugin>
    </plugins>
    </build>

    application.yml

    server:
    port: 8082

    rocketmq:
    name-server: 49.235.127.115:9876
    producer:
    group: my-producer-group


    logging:
    file:
    path: /usr/log/mqproductservice/mqproductservice.log
    level:
    root: INFO
    com.anran.projectmanage.mapper: DEBUG
     
    controller:
     
    package com.jyc.controller;

    import org.apache.rocketmq.spring.core.RocketMQTemplate;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.*;

    import java.util.Date;

    @RestController
    @RequestMapping("/mq")
    public class MqMessageController {
    private static final Logger log = LoggerFactory.getLogger(MqMessageController.class);

    @Value("${server.port}")
    private String port;
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    @RequestMapping("/convertAndSend/{id}")
    public String convertAndSend(@PathVariable int id) {
    System.out.println(rocketMQTemplate);
    rocketMQTemplate.convertAndSend("first-topic","你好,Java旅途 "+id);
    return "ok--"+port+" id= "+id;
    }

    @RequestMapping("/send")
    public String send() {
    for(int i=0;i<100;i++){
    rocketMQTemplate.convertAndSend("first-topic","你好,Java旅途 "+i);
    }
    return new Date().toString()+ "----" +port ;
    }


    @GetMapping("/test")
    public String test(){
    return "test--"+port;
    }


    @GetMapping("/send/{id}")
    public String test(@PathVariable int id){
    return "test--"+port+ " id= "+id;
    }

    }
    
    
    package com.jyc;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;

    /**
    * @author jianyongchao
    * @date: 2022-03-24 11:25:12
    * @company: tianbo
    * @description:
    */
    @SpringBootApplication
    public class RocketMqProductApp {
    public static void main(String[] args) {
    SpringApplication.run(RocketMqProductApp.class,args);
    }

    }
     
    子工程:rocketmq-consumer-service
    pom.xml 
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.1.1</version>
    </dependency>

    </dependencies>

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!-- <version>2.3.12.RELEASE</version>-->
    </plugin>
    </plugins>
    </build>

    application.yml

    server:
    port: 9082
    #rocketmq 相关配置
    rocketmq:
    name-server: 49.235.127.115:9876
    producer:
    group: my-producer-group


    logging:
    file:
    path: /usr/log/mqproductservice/mqproductservice.log
    level:
    root: INFO
    com.anran.projectmanage.mapper: DEBUG
     
    启动:
    @SpringBootApplication
    public class RocketMqConsumerApp {
    public static void main(String[] args) {
    SpringApplication.run(RocketMqConsumerApp.class,args);
    }
    }



    package com.jyc.listener;

    import lombok.extern.slf4j.Slf4j;
    import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
    import org.apache.rocketmq.spring.core.RocketMQListener;
    import org.springframework.stereotype.Component;

    /**
    * @author jianyongchao
    * @date: 2022-03-24 14:02:24
    * @company: tianbo
    * @description:
    */
    @Component
    @RocketMQMessageListener(topic = "first-topic",consumerGroup = "my-consumer-group")
    @Slf4j
    public class Consumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String s) {
    log.info(s);
    }
    }


    http://localhost:8082/mq/convertAndSend/16
    
    
    


  • 相关阅读:
    数据库连接池技术
    选择存储引擎的基本原则
    建索引原则
    数据库应用优化
    PDO
    关于cookie和session
    php常见漏洞及分析
    随便写
    spring 注入
    idea导入eclipse项目
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/16055254.html
Copyright © 2020-2023  润新知