SpringCloud之整合RabbitMQ

https://blog.csdn.net/kxj19980524/article/details/86774671

在上面这个案例基础上实现,先搭建好一个基本的服务提供者,和消费者

 

服务提供者里面

导入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </dependency>

编写一个接口,output里是通道名称,通过这个名称,消费者与接收者进行关联.

package com.buba.api.rabbitmq;

import org.springframework.cloud.stream.annotation.Output;
import org.springframework.messaging.SubscribableChannel;

public interface SendService {

    @Output("member")
    SubscribableChannel sendMember();
}

启动类上加@EnableBinding值为上面的接口

增加配置文件信息 

#rabbitmq
spring.rabbitmq.host=192.168.1.66
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
#rabbitmq组名称
spring.cloud.stream.bindings.member.group=groupA

注入service发送消息 

import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;

 @Autowired
    SendService sendService;

    //往rabbitmq发送消息
    @RequestMapping("sendMember")
    public String sendMember(){
        Message build = MessageBuilder.withPayload("hello,rabbitmq".getBytes()).build();

        Boolean send = sendService.sendMember().send(build);

        return send.toString();
    }

消息接收方

导入依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
        </dependency>

package com.buba.rabbitmq;

import org.springframework.cloud.stream.annotation.Input;
import org.springframework.messaging.SubscribableChannel;

public interface ReceiveService {

    @Input("member")
    SubscribableChannel subscribableChannel();
}

启动类加上监听管道注解,与发送消息那边的名称一致 

然后启动各个组件进行测试,eureka,发布者,消费者,rabbitmq

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值