Stream急速落地

主要包含三个部分:1、创建项目,添加依赖。2、创建监听器,包含声明和绑定信道。用来消费消息。3、从RabbitMQ触发一条消息,看监听器有没有消费这条消息。

ArtifactId和Module_name保持一致,在项目的上一级创建一个文件夹,将项目存储在普通文件夹中,点开文件夹才能看到java应用。

把acturator和web引入进来。

Stream的独门秘诀:stream-rabbit。

packageing是jar的类型,cloud/微服务项目打的都是jar包。

com.company.artifactName>childModuleName。

只有一顶帽子@SpringBootApplication,不需要集成eureka的组件。

创建业务类,businessLogic,文件夹起名叫做biz。

普通的java对象(pojo)MessageBean。用来干什么呢?用来接收消息的。生产者发布消息的时候,生成的消息体,用payload接收。我们原封不动的把payload传给消费者。

创建Listener(就是Consumer)。定义一个方法来接收上游(这个上游就是指生产者吧,它发送消息会产生消息体吧)的消息。

Stream特有的标签-StreamListener,它用来做什么呢?传入一个信道(信道指的就是topic)的名称。

创建一个可被订阅的通信通道。Message的Sink.Input(是一个默认的信道,核心是创建可订阅信道的那个方法 SubcribableChannel input())。通道的名称就是字符串"input"。

信道。可通信的通道,它是有名字的。

将信道绑定到当前标签标记的这个方法上。我们的方法体也就能够监听到这个信道生成的消息体从而进行消费。消息体和信道的关系是,信道创建了消息体,就像是消息体的发源地和存储仓库一样。

使用的是Stream默认为我们声明的interface Sink(用来获取一个可订阅的信道>由此可以推测:既然Sink的作用是创建一个信道,作为一个默认的信道,如果不用,那么,我们必须自定义一个信道,由此推测,enableBiding使用来绑定自定义信道的)。使用EnableBiding(作用:将自定义信道加载到上下文),我们可是使用我们自定义的信道。

channel、信道、topic都是指同一个东西。

将信道加载到上下文(启动项目的时候),所以自定义接口中必须创建一个信道,然后把intefacename.class当作value设置进标签enableBiding中。

设置配置文件。如果喜欢yml,但是文件已经是properties了,可以去网上找工具把properties转化成yml,反之。

配置文件。应用名称、端口、rabbitMQ连接字符串、acturator管理字符串。

先启动rabbitMQ再启动项目。

创建一个信道会创建一个queue(客户端可见),队列名称包含信道名称input。

尝试给channel发送一条消息。直接在RabbitMQ的客户端手动发送,连消息名称都是自定义的payload。

点开input那个队列,找到publish message,往payload中添加一条消息。

这一章节虽然创建了consumer,但是没有创建producer哦。

通过java应用往rabbitMQ中创建了一个queue,可以手动往queue中添加一条消息体,java应用程序会监听到。当前章节学习了如何声明一个信道并与消费者绑定,以及如何手动往信道中publish一条消息,从而被消费者接收并做一个打印文字的响应。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值