当前位置: 首页 > 知识库问答 >
问题:

如何为Spring-Cloud-starter-bus-kafka 1.2.0提供SSL配置。发布

柳宾实
2023-03-14

我使用的是Spring Boot 1.5.6。Spring Cloud Config 1.3.2发布。发布,Spring Cloud Starter Bus(Kafka)1.2.0。而Kafka的版本是0.10.1.1。我试图将其配置为使用两个启用ssl的代理,但最终得到一系列重复的警告消息(每个代理一条),如下所示:

Bootstrap broker broker1:9993 disconnected
Bootstrap broker broker2:9993 disconnected

在我的配置中,我有(仅包括此处的相关部分):

spring:
    cloud:
        stream:
            kafka:
                binder:
                    zkNodes: zkhost1:2181,zkhost2:2181
                    brokers: broker1:9993,broker2:9993
                    configuration:
                        security.protocol: SSL
                        ssl.enabled.protocols: TLSv1.1,TLSv1.2
                        ssl.endpoint.identification.algorithm: HTTPS

然而,当ProducerConfig和ConsumerConfig说出它们的配置值时,它们都表示:

security.protocol = PLAINTEXT
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.endpoint.identification.algorithm = null

此外,我还收到以下警告信息:

The configuration 'key.deserializer' was supplied but isn't a known config.
The configuration 'value.deserializer' was supplied but isn't a known config.
The configuration 'ssl' was supplied but isn't a known config.
The configuration 'security' was supplied but isn't a known config.

我需要为信任库、密钥库及其密码和存储类型添加配置,我还想知道如何提供这些配置,而不必在yaml配置中对它们进行硬编码。我首选的方法是用jvm属性填充这些配置属性。

知道我做错了什么吗?

在尝试了各种事情之后,这里有一个有趣的更新。如果我创建了一个用@EnableKafkaStreams注释的@Configuration类,我可以创建一个StreamsConfig,它具有指定的所有配置的各种属性,但这会创建一个新的单独的生产者和消费者。Spring云总线Kafka生产者和消费者仍然没有配置超出默认值。

共有1个答案

呼延才俊
2023-03-14

如果我遵循github的建议,将属性放入应用程序中。属性,而不是通过spring cloud config进行配置,它可以工作。通过spring cloud config配置的相同配置属性会导致配置崩溃,因为它似乎不喜欢属性名称中的括号。不过,它报告的错误并没有直接抱怨错误的属性键。当您仅通过spring boot执行此配置时,它似乎工作正常。所以,spring boot和spring cloud config之间的配置解析似乎存在差异。

 类似资料:
  • Spring cloud stream starter kafka在连接消费者时没有加载配置。以下是我在调试模式下运行控制台时在控制台中看到的配置: 我有以下引导yml文件的配置部分

  • Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,总线就像一个分布式执行器,用于扩展的Spring Boot应用程序,但也可以用作应用程序之间的通信通道。目前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。 注意 Spring Cloud根据非限制性A

  • spring-cloud d-starter-config本身与spring-boot-devtools一样完美,但当我创建一个同时使用两者的项目时,我会得到这个错误: bootstrap-local\u dev.yaml: 所有其他yaml和属性文件都是空白的。只有环境变量集是: pom.xml父母是: pom.xml中的依赖项部分是: 为了在同一个项目中同时使用spring cloud sta

  • 我正在构建一个应用程序,使用Spring Cloud配置服务器作为保存属性文件的集中位置。我有多个客户端应用程序从配置服务器获取配置数据。 但我使用Spring cloud bus和Kafka作为消息代理,以将所有更改广播到客户端应用程序,而不是手动刷新每个客户端应用程序,以便在提交后获取属性文件中的最新更改。下面是pom文件和属性文件。 配置服务器:pom application.propert

  • 我有一个小Spring启动Web应用程序(可执行罐),它在application.properties文件中有一些自定义属性。我的目标是能够在运行时动态更改这些属性,而不必运行构建/部署或重新启动java进程。sping-Cloud-starter-config项目似乎非常适合于此(尽管我没有使用配置服务器),但我遇到了以下问题: 在我的pom里。xml I包括对spring boot start

  • 亲爱的Spring开发者! 我想从官方文档和示例代码中设置spring cloud configserver。它适合我,如果我更改它,我想在运行时刷新我的属性github。 我已经添加了spring-cloud d-config-监视依赖项,我想使用Kafka进行更改事件广播。我在文档中阅读过,这是可能的,但我无法配置配置服务器的spring-cloud d-starter-bus-kafka和客