java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第1张图片

pom文件:



    4.0.0

    org.example
    springrmqsender
    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实现发布订阅模式——生产者_第2张图片

配置文件:

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

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第3张图片

MyRabbitConfig
package org.example.config;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.FanoutExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyRabbitConfig
{

    public final static String FANOUT_NAME ="amqp-fanout";

    @Bean
    FanoutExchange fanoutExchange(){
        return new FanoutExchange(FANOUT_NAME,true,false);
    }


}

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第4张图片

发送消息:

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-fanout","",info);
    }

}

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第5张图片

通过服务发送:

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实现发布订阅模式——生产者_第6张图片

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第7张图片

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第8张图片

java——spring boot集成RabbitMQ——spring boot实现发布订阅模式——生产者_第9张图片

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