首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集成自定义kafka消费者和Spring cloud config客户端

集成自定义kafka消费者和Spring cloud config客户端
EN

Stack Overflow用户
提问于 2019-06-08 21:07:58
回答 1查看 138关注 0票数 1

我们使用spring config client来动态刷新属性。我们在类路径上添加了spring-cloud-starter-bus-kafka,一切正常。所有这些依赖项的Pom版本都是2.X。

我想要做的是,删除spring- cloud -starter-bus-kafka并添加我的自定义代码,以获取消费者事件并刷新上下文,进而使用云配置客户端刷新属性。我相信在某个地方Spring正在调用ConfigServicePropertySourceLocator.locate。基本上,我只想复制Spring在spring-cloud-starter-bus-kafka中所做的事情,以使实时刷新属性成为可能。

我做这一切的原因是,我在内部使用了一个旧版本的kafka-clients。我们有一个自己开发的版本,它支持加密等等。问题来了,因为spring-cloud-starter-bus-kafka使用的是kakfa客户端的2.X版本,而我们的家庭版本还没有准备好。由于这一点,它们中的任何一个都在某个时间点工作。

有人能告诉我需要做些什么才能消费kafka的刷新事件并刷新属性吗?我不认为这会太复杂。它应该使用kafka事件,并在某个地方调用ConfigSourceLocator来刷新属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-08 22:23:03

它甚至比这更简单。如果查看RefreshListener类,就会发现它所做的全部工作是

代码语言:javascript
复制
    Set<String> keys = this.contextRefresher.refresh();
    log.info("Received remote refresh request. Keys refreshed " + keys);

其中contextRefresher是一个org.springframework.cloud.context.refresh.ContextRefresher

这将触发处理自动查找配置的代码。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56506674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档