cloud foundry_Cloud Foundry Java客户端–流事件

cloud foundry

Cloud Foundry Java客户端提供了基于Java的绑定,用于与正在运行的Cloud Foundry实例进行交互。 该项目的一件整洁的事情是,它已经接受了基于Reactive Stream的API的方法签名,特别是使用Reactor实现,这在使用流数据时特别有用。

在这篇文章中,我想展示一个真正使该库发光的特定用例–来自Cloud Foundry的流事件

Loggregator是Cloud Foundry中的子系统,负责汇总系统内产生的所有日志,并提供了将该信息流式传输到外部系统的方式。 Loggregator中的“流量控制器”组件公开了基于Websocket的端点,这些端点流出了这些事件,Cloud Foundry Java客户端抽象了基础的websocket客户端连接详细信息,并提供了一种使用此信息的简洁方法。

作为前提条件,您将需要一个正在运行的Cloud Foundry实例来试用该示例,并使它在本地运行的最佳方法是使用PCF Dev 。

假设您有一个正在运行的实例,使用cf-java-client库从代码连接到该实例的方式如下:

SpringCloudFoundryClient cfClient = SpringCloudFoundryClient.builder().host("api.local.pcfdev.io").username("admin").password("admin").skipSslValidation(true).build();

使用此方法,可以通过以下方式创建流量控制器的客户端:

DopplerClient dopplerClient = ReactorDopplerClient.builder().cloudFoundryClient(cfClient).build();

基本上就是这样,多普勒客户端提供了流式处理基础事件的方法,如果您对所有未过滤的信息(适当地称为firehose)感兴趣,则可以通过以下方式进行:

Flux<Event> cfEvents = this.dopplerClient.firehose(FirehoseRequest.builder().subscriptionId(UUID.randomUUID().toString()).build());

结果是来自Reactor库的Flux类型封装了流数据,可以通过附加订户来观察流数据,例如,对于订户的基本示例,只需将事件以以下方式记录到控制台即可:

cfEvents.subscribe(e -> LOGGER.info(e.toString()));

但是, Flux的真正功能在于它提供的非常强大的流利方法,因此,例如,如果我对诸如应用程序级别日志的子集感兴趣,那么我实质上想过滤数据,从中提取日志并通过以下方式打印日志:

cfEvents.filter(e -> LogMessage.class.isInstance(e)).map(e -> (LogMessage)e).map(LogMessage::getMessage).subscribe(LOGGER::info);

如果您想使用此示例(作为附加奖励已启用了Spring Boot) ,请在github存储库中使用它 。

翻译自: https://www.javacodegeeks.com/2016/05/cloud-foundry-java-client-streaming-events.html

cloud foundry

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多个cpp文件生成so_C++:C++的文件搜索路径

在做大型工程的时候&#xff0c;除了有C语法知识之外&#xff0c;还要有工程能力。最先要具备的能力是&#xff1a;理解C文件的编译&#xff0c;链接过程。明白C头文件的搜索路径。本文&#xff0c;介绍C的文件搜索路径。对于C文件来说&#xff0c;主要有两种&#xff0c;一种是…

【WebRTC---源码篇】(十九)模块的执行-Module

WebRTC中将某些功能划分了模块,现在介绍一下模块是如何执行的。WebRTC中会创建一个线程用于执行模块和异步的任务,模块生成以后注册到线程中,模块执行时会计算下次需要执行的时间,线程根据模块提供的时间会按照指定的时间再次调用模块。线程在处理模块的同时也可以处理其他…

HH SaaS电商系统的店铺系统设计

文章目录为什么店铺运营模式要区分B2C、C2C、O2O&#xff1f;O2O店铺B2C店铺自营B2C店铺第三方B2C店铺C2C店铺为什么O2O店铺不允许售卖快递类的商品&#xff1f;B2C、C2C模式的自提和O2O的自提有什么区别&#xff1f;B2C、C2C模式的配送和O2O的配送有什么区别&#xff1f;为什么…

java 精选选择题_Java生产率提示:社区精选

java 精选选择题社区已经发言。 我们已将您最好和最出色的生产力技巧汇总到一篇文章中。 我们都有自己的小技巧&#xff0c;可以帮助我们提高工作效率&#xff0c;并提高生产率。 我们使用工具来避免繁琐的日常任务&#xff0c;并运行脚本来自动化流程。 我们所做的一切只是为…

监听js变量的变化_JS监听事件型爬虫

点击上方“Python数据科学”&#xff0c;选择“星标公众号”关键时刻&#xff0c;第一时间送达&#xff01;作者&#xff1a;zuobangbang来源&#xff1a;zuobangbang最近开始研究网页参数的JS加密&#xff0c;但是大型网站的JS文件过于繁杂&#xff0c;不适合新手上路&#xf…

HH SaaS电商系统的支付模块设计

文章目录支付单支付单状态流转逻辑说明支付相关实体支付流水记录支付方式支付渠道支付单 销售订单生成时&#xff0c;同步生成支付单&#xff0c;如果销售订单的应付金额由首付款和尾款组成&#xff0c;那么会生成两个支付单 支付单与销售订单的“联合单号”或者“退款单ID”关…

java8 guava_Guavate:桥接Guava和Java8的微型库

java8 guavaJava8很棒&#xff0c;并向JDK添加了一些有用的抽象&#xff0c;这些抽象通过Google出色的Guava commons库在Java社区中得到了普及。 小组讨论表明&#xff0c; 不久将有一个需要Java 8的Guava版本&#xff0c;并弥合了Guava和Java8之间的鸿沟。 但是&#xff0c;直…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商&#xff0c;三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售&#xff0c;我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…

HH SaaS电商系统的商城模块设计

文章目录好获SaaS电商系统层级关系商城实体商城运营模式商城可选子系统创建商城商城管理后台有供应系统和无供应系统的B2C和混合模式的商城系统对比有仓储系统和无仓储系统的B2C和混合模式的商城系统对比有店铺系统和没有店铺系统的商城系统对比商城关闭商家入驻通道B2C模式商城…

autovalue_AutoValue:生成的不可变值类

autovalueGoogle GitHub托管的项目AutoValue之所以有趣&#xff0c;有多种原因。 该项目不仅使为“ 值对象 ”编写更少的Java代码变得容易&#xff0c;而且还为Java注释处理的实际应用提供了概念上简单的演示。 该自动/值项目是由提供谷歌的员工凯文Bourrillion和埃蒙麦克马纳斯…

舱机器人尾巴毛茸茸_毛茸茸的(Fluffy)——欧美有史以来最伟大的机器人战争机器人...

我们精选了部分网友观点&#xff1a;是一个潜在的十大机器人如果它被更可靠。Wouldve been a potential top 10 robot had it been more reliable.毁灭性的一次了!Devastating once it got going!打击101和Terrorhurtz遗忘和猫造成了重大损失,猫是更糟糕的状态没有毛茸茸的分解…

HH SaaS电商系统的物流单设计

业务说明 物流信息提交后&#xff0c;系统生成物流单&#xff0c;出库单与物流单是一对多的关系 退货时买家填写物流信息&#xff0c;提交后系统生成物流单和入库单&#xff0c;物流单需要保存入库单的id 物流单实体

pcl_openmap_OpenMap教程5 – 3层GIS应用程序

pcl_openmap1.简介 欢迎使用OpenMap系列教程的第5个教程。 OpenMap是一个免费的开源Java GIS库。 这是以前的教程列表&#xff1a; 在第一个教程中&#xff0c;我们创建了一个基本的OpenMap GIS应用程序&#xff0c;该应用程序在JFrame中显示一个从文件系统加载的具有一个形状…

小米登录协议分析_小米温湿度传感器协议分析

博主喜欢玩智能家居的东西&#xff0c;智能家居确实能给家里带了不少的方便。天气热了&#xff0c;博主想做一个&#xff1a;当屋子有人&#xff0c;并温度高于33度时&#xff0c;开空调。博主已有了一套自家的智能家居系统&#xff0c;有网关、人体红外传感器、红外转发器&…

HH SaaS电商系统的商品系统设计

文章目录商品信息结构商品信息总结构商品信息结构图发布商品商品类型虚拟商品服务商品为什么服务商品要分类前端根据服务商品类型来设计不同的界面和交互订单状态和服务类型有关商品档案上下架运营商品上下架&#xff08;即商品营销上下架&#xff09;删除商品租户删除自供商品…

jdk170不支持注释_JDK 9 @不建议使用的注释增强功能

jdk170不支持注释在帖子中&#xff0c; Deprecated可能会是什么样子&#xff1f; &#xff0c;我当时使用JEP 277 &#xff08;“增强的弃用”&#xff09;的描述来指导创建增强的自定义Deprecated注释。 但是&#xff0c;自从发布该文章以来&#xff0c;JEP 277进行了重大更改…

对mysql的总结与反思_深入了解MySQL,一篇简短的总结

MySQL的基本语法这里作为MySQL部分模块的深入了解&#xff0c;大部分都是理论方面的笔记&#xff0c;不会写具体用法。具体用法会记录在下面这个随笔分类下&#xff0c;不过暂时还没更新完&#xff0c;等过段时间会更新下事务、存储过程、索引等用法&#xff0c;虽然都很简单&a…

HH SaaS电商系统移动端商城,买家选择商品规格的交互设计

文章目录未完整选择商品规格时商品图如何显示库存如何显示价格如何显示选择规格提示文案如何显示原型图已选完整选择商品规格时商品图如何显示库存如何显示价格如何显示原型图SKU下架后如何显示原型图购买数量如何交互未完整选择商品规格时 商品图如何显示 显示SPU的主图&…

aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

aws lambda无服务器计算如何帮助您的生产基础架构&#xff1f; 在过去的几年中&#xff0c;无服务器计算架构一直受到关注&#xff0c;因为它专注于应用程序的主要组件之一&#xff1a;服务器。 这种体系结构采用了不同的方法。 在下面的文章中&#xff0c;我们将解释无服务器…

HH SaaS电商系统的销售订单毛利润模块设计

HH SaaS电商系统的销售订单利润分析&#xff0c;仅是简单分析供运营人员参考而已&#xff0c;所以订单生成后就自动根据商品成本价和实际交易价生成利润表&#xff0c;而不需要等到订单归档后才生成。 销售子单的毛利润最终交易总额-成本总额销售子单的毛利率毛利润/最终交易总…