SpringBoot与rabbitMQ

新项目

新建一个项目,引入web和rabbitMQ
可以看到rabbitMQ引入的pom包

<dependency>
            <groupId>org.springframework.amqp</groupId>
            <artifactId>spring-rabbit-test</artifactId>
            <scope>test</scope>
</dependency>

原理

1、首先是RabbitAutoConfiguration
2、接着是自动配置了连接工厂CachingConnectionFactory
3、可以被配置的项目存在于RabbitProperties

@ConfigurationProperties(
    prefix = "spring.rabbitmq"
)
public class RabbitProperties {
    private String host = "localhost";
    private int port = 5672;
    private String username = "guest";
    private String password = "guest";
    private final RabbitProperties.Ssl ssl = new RabbitProperties.Ssl();
    private String virtualHost;
    private String addresses;
    @DurationUnit(ChronoUnit.SECONDS)
    private Duration requestedHeartbeat;
    private boolean publisherConfirms;
    private boolean publisherReturns;
    private Duration connectionTimeout;
    private final RabbitProperties.Cache cache = new RabbitProperties.Cache();
    private final RabbitProperties.Listener listener = new RabbitProperties.Listener();
    private final RabbitProperties.Template template = new RabbitProperties.Template();
    private List<RabbitProperties.Address> parsedAddresses;

4、RabbitTemplate给MQ发送和接受消息

5、AmqpAdmin为MQ系统管理组件

书写一个测试类

 @Autowired
    RabbitTemplate rabbitTemplate;

    @Test
    public void contextLoads() {
        /**
         * message 可以定制消息体内容以及消息头*/
        //rabbitTemplate.send(exchage,routekey,message);

        //只需要传入要发送的对象,自动序列化发送给rabbitMQ,object默认的消息体
        //rabbitTemplate.convertAndSend(exchage,routekey,object);
        Map<String, Object> map = new HashMap<>();
        map.put("message", "");
        map.put("date", Arrays.asList("ssdasd", 1231, true));
        rabbitTemplate.convertAndSend("exchange.direct", "atlybnews", map);
    }

可以看到数据发送到rabbitmq服务器上了
在这里插入图片描述
“来宾”用户只能从本地主机连接
默认情况下,禁止来宾用户从远程主机连接;它只能通过回送接口(即localhost)进行连接。这适用于与协议无关的连接。默认情况下,任何其他用户都不会受到这种方式的限制。
因此在登录远程地址的时候。推荐新建一个用户。并且给与其相对应的权限
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值