问题标签 [spring-cloud-bus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - Spring Cloud Config + Spring Cloud Bus + RabbitMQ - 不使用本地 Git 存储库自动刷新客户端
我有一些应用程序从 Spring Cloud Config Server ( Brixton.RELEASE ) 获取其配置,并希望启用其属性的自动刷新。我已经按照 Spring Cloud Config文档来配置服务器和客户端应用程序,但是,当对本地 git 文件进行更改时,没有任何反应。
默认配置还检测本地 git 存储库中的文件系统更改(在这种情况下不使用 webhook,但一旦您编辑配置文件,就会广播刷新)。
任何人都可以指出什么可能是错误的或在 Spring Cloud 的代码中调试以检查它吗?
春天云服务器配置:
春天云服务器 pom.xml
Spring Cloud 配置启动日志:
客户端应用程序 pom.xml:
客户端应用配置:
客户端应用程序启动日志:
netflix-eureka - 问题 spring-cloud-config 和 spring-cloud-bus
我有三个应用程序,一个是 spring-cloud-config 服务器点,另一个是 spring-cloud-config 客户端点。我相互配置了 spring-cloud-bus 以使我的客户端点自动刷新发生变化,但是在我的应用程序运行中,我得到了一个异常
这是我的 spring-cloud-server 配置
这是我的 spring-cloud-config 服务器 pom
这是我的 spring-cloud-config 客户端配置
这是我的 spring-cloud-config 客户端点 pom
这个异常不会影响应用程序的操作,但是想知道应用程序为什么会抛出异常
spring - spring-cloud-bus-kafka 两次创建 applciationcontext
云版本是 Brixton.SR1....
我使用 sping-cloud-bus-kafka 和 sping-cloud-zookeeper-all (使用 zookeeper 来发现),每次,zookeeper 中有两个项目,如:
zookeeper 数据: zookeeper 数据图像
我的 yml 是: 我的 yml
启动时,它创建了两次applicationcontext,两次kafka producer,两次zookeeperclient,堆栈跟踪是:
第一次:
第二次 :
谁知道会发生什么????
谢谢.....
spring - Spring Cloud Config Server 如何将纯文本文件推送到 Config Client Application?
到目前为止我已经实施的是:
- 带有“本机”存储库的 Spring Cloud Config Server。
spring.profiles.active: native
spring.cloud.config.server.native.searchLocations: file:/path/to/config-repo
Config Server 正在通过 RabbitMQ 向 Config Client App 推送通知,如http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_push_notifications_and_spring_cloud_bus
配置客户端应用程序在服务 bean 上注释了 @RefreshScope。
所以 /config-repo 有 3 个文件 - application.yaml、client.yaml 和 client.json 所有 yaml 属性更改肯定会由 Config Client App 自动重新加载。但是,client.json 没有。
基于https://github.com/spring-cloud/spring-cloud-config/issues/147,我可以使用 /{appname}/{profile} 通过 REST api 调用 Config Server 来获取 Config Client App 上的文件/{标签}/client.json
问题是:
1) Config Server 是否通过“本机”监视此纯文本文件更改?
2) Config Client App 如何在更新后自动重新加载此 client.json?(我可以安排任务来调用配置服务器,但这并不理想。)
spring-cloud-bus - Spring Cloud Bus - 接收到自定义事件但未由事件处理程序处理
我正在使用 Spring Cloud Bus(1.2.1.RELEASE,Camden.SR2)。CustomEvent
我有一个创建和注册的自定义事件(调用它)@RemoteApplicationEventScan
以及一个自定义AbstractBusEndpoint
实现来发布事件。我能够将事件发布到总线就好了。
我的远程应用程序接收到事件并确认(我使用trace
端点验证了这一点)。我已经通过调试验证了是CustomEvent
通过ApplicationEventPublisher
. BusAutoConfiguration#acceptRemote
我的远程应用程序中有一个带有事件处理程序的 bean(我已将其自动配置到我的所有微服务中):
尽管如此,事件处理程序将不会接收到该事件。我在AbstractApplicationEventMulticaster
类中进行了跟踪,尽管创建了我的 bean(通过beans
端点验证),但侦听器不在ApplicationListener
s 检索的列表中ListenerRetriever
。我确实BusAutoConfiguration.acceptLocal
在此列表中看到了侦听器,但没有看到我的自定义侦听器。
此事件处理程序也在源应用程序上注册(我从中访问总线端点以启动事件的应用程序)。自定义侦听器接收此应用程序中的事件,但不接收远程应用程序。
本质上,这两个应用程序的配置完全相同,除了一个配置为CustomEvent
使用AbstractBusEndpoint
.
我不知道在 Spring 代码中还有什么地方可以调试这个问题。如果有人有一个线程,他们可以引导我,将不胜感激。
spring - Spring Cloud Bus,如何在 /bus/refresh?destination= 中指定多个目的地?
我有一个使用 Spring Cloud Config 和 Spring Cloud Bus 的配置服务器以及一些也有 Spring Cloud Bus 的客户端。每次更改配置时,我都会使用邮递员将 /bus/refresh 发送到配置服务器。我找到了两种方法来做到这一点:
有没有办法用一个帖子请求刷新两个特定的客户端?
spring - Spring Cloud Stream - 聚合
我正在尝试实施提议的 SCS 聚合,但我不确定了解它们的真正目的,因为结果让我感到惊讶。首先,这是代码...
源,要安排的消息提供程序:
然后是一个简单的处理器(变压器):
这是最终消费者(接收器):
最后,聚合将这三个链接起来:
当聚合启动时,这些是检索到的跟踪的摘录:
我原以为每条消息都会遵循定义的周期:源-处理器-接收器。我们可以看到至少有 3 条消息中的 2 条丢失了,并且只有 4 条消息中的 1 条被转换了。注意:通道目标是在第二次尝试中添加的,以避免应用程序之间的假定混淆(使用相同的 RabbitMQ 中间件)。
有人能告诉我我是否正确地理解了聚合目的并做了正确的事情来实现它吗?提前致谢。
spring-boot - SpringCloud - ConfigServer - RabbitMQ - 客户端没有收到来自 ConfigService 的消息
我正在尝试使用 Gitlab 存储库制作 ConfigServer 远程和客户端。ConfigServer 通过 Webhook 接收推送通知,但不会将消息发送到客户端。我用 Docker 运行了一个 RabbitMQ,我可以在 rabbit 的控制台中看到服务与它相连。所以我不知道是什么问题。
configServer pom 文件如下所示:
ConfigServes 的属性文件如下所示:
客户端的 pom 看起来像:
客户端的 application.yml 看起来像:
我用 Docker 运行兔子: sudo docker run --name rabbitmq -p 5672:5672 rabbitmq
我在 Gitlab 中创建了一个 Webhooks。当推送更改时,ConfigServer 会收到 /monitor 的通知,但客户端没有收到更改,也没有收到任何内容。我不知道如何解决这个问题。
谢谢!
spring-cloud - 在 Spring Cloud Config Client 中启用 /bus/refresh 端点
我的 Spring Cloud Config Client 依赖于spring.cloud.starter.bus.amqp
,但仍未启用/bus/refresh endpoint
我的配置客户端应用程序中有这些依赖项,但仍未启用/bus/refresh
, /bus/env
.
请让我知道我的客户端应用程序中缺少什么。
笔记:
我已尝试在 , 中设置这些指标,application.yml
或application.properties
在 ,中设置这些指标BusAutoConfiguration
以启用/bus/*
端点。
在我的 Spring Cloud Config Server 应用程序中,我禁用了这些端点,即设置为 false
并观察到在 Spring Boot 启动期间/bus/*
没有启用端点。
spring - Spring Cloud Bus 不工作 /bus/refresh 调用转到控制器并在控制器中搜索映射并失败
我已经使用配置服务器和 github 支持的外部配置文件配置了我的应用程序。当我在 Cloud Foundry 中拥有我的应用程序的单个实例时,它工作正常。
但是对于多个实例,据说实现 spring cloud bus 以将外部配置更改应用于所有实例。为此,我已将我的配置服务器与 Pivotal Cloud Foundry 上可用的 rabbit MQ 实例绑定。在我的 build.gradle 文件中添加了 spring.cloud.starter.bus.amqp jar。
问题:但是当我在 http://server:port/bus/refresh向客户端应用程序发出 POST 请求时,调用转到控制器而不是刷新所有实例并且由于没有相同的映射而失败。
如果我缺少任何使 spring-cloud-bus 工作的配置,请告诉我。提前致谢!
application.properties(客户端应用程序):
bootstrap.properties(客户端应用程序):
GIT repo 中的 application.properties 文件: