java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者

pom文件:



    4.0.0

    org.example
    springrmqtopicsender
    1.0-SNAPSHOT

    
        8
        8
    

    
        org.springframework.boot
        spring-boot-starter-parent
        2.4.5
        
    


    

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-amqp
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        

    


java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第1张图片

yml文件:

spring:
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第2张图片

config配置文件:

package org.example.config;

import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 主题交换机
 * topic策略可以根据routingKey的规则(通配符方式)进行去匹配队列进行转发规则为*.#.*
 */
@Configuration
public class RabbitTopicConfig
{


    public final static String TOPIC_NAME = "amqp-topic";


    @Bean
    TopicExchange topicExchange()
    {

        return new TopicExchange(TOPIC_NAME,true,false);

    }


}

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第3张图片

发送:

package org.example.sender;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 消息生产者 发送消息
 */
@Component
public class MessageSender {

    @Autowired
    RabbitTemplate rabbitTemplate;

    /**
     * 发送消息
     * @param info
     */
    public void send(String info)
    {

        System.out.println("发送消息>>>"+info);


        rabbitTemplate.convertAndSend("amqp-topic","huawei.a",info);
    }

}

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第4张图片

触发:

package org.example.controller;

import org.example.sender.MessageSender;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Auther: [email protected]
 * @Date: 2020/10/4 11:34
 */
@RestController
public class IndexController {

    @Autowired
    MessageSender messageSender;

    @RequestMapping("/index")
    public String index()
    {

        messageSender.send("中国——路由——华为");
        return "SUCCESS";
    }

}

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第5张图片

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第6张图片

java——spring boot集成RabbitMQ——spring boot实现路由模式——生产者_第7张图片

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