当前位置: 首页 > wzjs >正文

赶集网网站建设在淘宝做印刷网站怎么办

赶集网网站建设,在淘宝做印刷网站怎么办,服务器有哪些,八里河风景区网站建设设计概述Spring Cloud Stream 是让微服务更容易在应用中实现消息的发布和订阅处理的框架。Stream 支持与多种消息中间件整合&#xff0c;如Kafka、RibbitMQ等。 本文使用的是Kafka消息中间件&#xff0c;依赖文件为&#xff1a; <dependency><groupId>org.springframewor…

Spring Cloud Stream 是让微服务更容易在应用中实现消息的发布和订阅处理的框架。Stream 支持与多种消息中间件整合,如Kafka、RibbitMQ等。

本文使用的是Kafka消息中间件,依赖文件为:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-kafka</artifactId><version>1.2.1.RELEASE</version>
</dependency>

1 Stream 应用模型

图 Spring Cloud Stream 的应用模式

通道接口与监听接口:用于定于消息的输入和输出通道的接口,通过注解(@Input或@Output)标记方法。该注解的参数为通道名称。而通道名称与消息中间件的主题一对一绑定。

消息通道:对消息队列的一种抽象,用来存放消息发布者发布的消息或消费者所要消费的信息及信息的发送与接收。

消息绑定器:实现应用程序与消息中间件之间交互的隔离。封装了交互细节。

1.1 消息发送和监听步骤

负责发送消息的微服务称为生产者,负责接收消息的微服务称为消费者。

1.1.1 生产者的消息发送

1)添加@EnableBinding注解。例如,@EnableBinding(Source.class)

该注解会触发Spring Cloud Stream进行基本配置,将应用升级为一个Spring Cloud Stream 应用。其可以声明一个或多个(发送或监听)通道接口参数。

2)访问消息通道及发送消息。

发送消息通道用于发送消息(MessageChannel的send方法)。通过上面声明的发送通道接口的方法获取通道。

1.1.2 消费者的消息监听

1)添加@EnableBinding注解。例如,@EnableBinding(Sink.class)

2)@StreamListener 注解方法来实现消息的监听。

@StreamListener(Sink.INPUT)
public void onUserMsgSink(UserMsg userMsg) {System.out.println("收到消息:" + userMsg);
}

1.1.3 相关配置

还需要配置Kafka的连接信息,及消息通道对应的主题。

spring.cloud.stream.kafka.binder.brekers=Kafka的Host

spring.cloud.stream.kafka.binder.zkNodes=zookeeper的Host

生产者的配置:

spring.cloud.bindings.[通道名称].destination= 发送通道对应的主题

消费者的配置:

spring.cloud.bindings.[通道名称].destination= 监听通道对应的主题

spring.cloud.bindings.[通道名称].group= 消费者组名

1.2 通道接口 Channel Interfaces

public interface Source {String OUTPUT = "output";@Output("output")MessageChannel output();
}public interface Sink {String INPUT = "input";@Input("input")SubscribableChannel input();
}

Source 及Sink 为Spring Cloud Stream 框架定义的发送消息通道接口及监听通道接口。@EnableBinding注解的参数就是通道接口的class。@Output来标注获取发送消息通道的方法。其中返回值要是MessageChannel及其子类。@Input来标注获取监听消息通道的方法,返回值要是SubscribableChannel及其子类。

1.2.1 通道接口的注入及使用

@Component
public class UserMsgSender {private final Source source;public UserMsgSender(Source source) {this.source = source;}
}

获取通道,调用Source接口的output()方法。也可以直接在Bean中注入消息通道。

@Component
public class UserMsgSender {private final MessageChannel channel;public UserMsgSender(@Qualifier("output") MessageChannel channel) {this.channel = channel;}
}

如果在服务中定义了多个消息通道,可以通过@Qualifier(“通道名称”)来明确具体的通道。

1.2.2 自定义消息通道

Source定义的发送通道名称为output,Sink定义的监听通道名称为input。我们可以自定义通道。步骤如下:

1)定义通道接口。

public interface ConsumerStreamChannel {@Input("consumerUserMsg")SubscribableChannel userMsg();
}

2)@EnableBinding中声明这个接口。

@EnableBinding(ConsumerStreamChannel.class)

3)在配置文件中为该通道配置相应的主题(或消费组名)。

spring.cloud.bindings.consumerUserMsg.destination= 监听通道对应的主题

spring.cloud.bindings.consumerUserMsg.group= 消费者组名

注意,在使用@StreamListener注解来标注监听方法时,该注解的参数为通道名称。例如,@StreamListener("consumerUserMsg")

http://www.dtcms.com/wzjs/592394.html

相关文章:

  • 购物网站 缓存响应式网站和自适应网站
  • 网站开发的基本条件视频网站建站程序
  • 上海免费网站建设公司海南建设网网站
  • 做爰在线网站wordpress page 模板
  • 陈村网站设计建设银行网站不能打开
  • 湖北工程建设总承包有限公司网站标题优化方法
  • 网站短链接怎么做手机电脑网站设计
  • 网站市场做烂了翔宇定制app下载
  • 秦皇岛海港区建设局网站网站建设推广公司排名
  • 建站优化办事效率高wordpress中文团队
  • 网站建设方案书 人员安排谁有qq网站开发资源群
  • 网站销售好做吗专门做游戏的网站
  • 做薪酬调查有哪些网站国际网站 建设
  • 中小型企业网站大全wordpress安装时候500错误
  • 南京网站设计公司哪儿济南兴田德润怎么联系wordpress 为分类定模板
  • 做网站要学那些淘宝网页版官网入口
  • 网站被泛解析如何设计一个小程序
  • 网站建设销售员话术网站安全建设情况报告
  • 东莞网站建设 包装材料大型电商网站开发方案
  • 医院网站建设预算表雇主品牌建设
  • 电商网站计划桐柏微网站建设
  • 网站怎么做关键词在哪做郑州经济技术开发区政务服务中心
  • 做一个网站都需要什么做攻略的网站好
  • 完整网站开发教程wordpress 图文直播插件
  • 昆明网站建设技术研发中心网站建设备案计划书
  • 企业网站备案 优帮云修改wordpress用户名密码忘记
  • 陕西专业网站建设哪家好工作服厂家联系方式
  • 网站建设开发兴田德润成都广告设计
  • 成都微网站系统Wordpress调用搜索
  • 属于c2c网站的有哪几个成都创意网站设计