首页 > 解决方案 > HikariCP和kafka在热重载配置映射spring boot Kubernetes时重置和重载事件模式不起作用

问题描述

我按照教程并在 k8s spring boot 应用程序中实现热重载配置映射:

  1. 添加行家
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-kubernetes-config</artifactId>
            <version>1.1.0.RELEASE</version>
        </dependency>
  1. 在资源中添加配置
spring.cloud.kubernetes.reload.enabled=true
gw.hotReloadValue=2222
  1. 类属性
@Getter
@Setter
@ToString
@RefreshScope
@ConfigurationProperties(prefix = "gw")
public class GWProperties {
    public int hotReloadValue;
    public GWProperties(){
    }
}

当我更改 gw.hotReloadValue 的值时它可以工作,但它有 2 个问题

2021-07-02 08:38:07.441 INFO--[160-//10.96.0.1/...]
[ ].r.EventBasedConfigurationChangeDetector :Detected change in config maps
2021-07-02 08:38:07.441 INFO--[160-//10.96.0.1/...]
[ ].r.EventBasedConfigurationChangeDetector :Reloading using strategy: REFRESH
2021-07-02 08:38:07.796 INFO--[160-//10.96.0.1/...]
2021-07-02 08:38:08,299 Log4j2-TF-9-AsyncLoggerConfig-8 WARN Recursive logging from [org.apache.kafka.clients.producer.ProducerConfig] for appender [KafkaAppender].
2021-07-02 08:38:08.307 INFO--[160-//10.96.0.1/...]
[ ]o.a.k.c.u.AppInfoParser :Kafka version: 2.5.1
2021-07-02 08:38:08,309 Log4j2-TF-9-AsyncLoggerConfig-8 WARN Recursive logging from [org.apache.kafka.common.utils.AppInfoParser] for appender [KafkaAppender].
2021-07-02 08:38:08.308 INFO--[160-//10.96.0.1/...]
[ ]o.a.k.c.u.AppInfoParser :Kafka commitId: 0efa8fb0f4c73d92
2021-07-02 08:38:08,310 Log4j2-TF-9-AsyncLoggerConfig-8 WARN Recursive logging from [org.apache.kafka.common.utils.AppInfoParser] for appender [KafkaAppender].
2021-07-02 08:38:08.308 INFO--[160-//10.96.0.1/...]
[ ]o.a.k.c.u.AppInfoParser :Kafka startTimeMs: 1625189888307
2021-07-02 08:38:08,311 Log4j2-TF-9-AsyncLoggerConfig-8 WARN Recursive logging from [org.apache.kafka.common.utils.AppInfoParser] for appender [KafkaAppender].
2021-07-02 08:38:08.315 INFO--[190-ad | producer-5]
[ ]o.a.k.c.Metadata :[Producer clientId=producer-5] Cluster ID: BpqeijWETZ-s_ftKGE2uIg
2021-07-02 08:38:08,316 Log4j2-TF-11-AsyncLoggerConfig-10 WARN Recursive logging from [org.apache.kafka.clients.Metadata] for appender [KafkaAppender].
2021-07-02 08:38:08.333 INFO--[190-//10.96.0.1/...]
[ ]o.s.b.SpringApplication :The following profiles are active: kubernetes
2021-07-02 08:38:08.444 INFO--[190-//10.96.0.1/...]
[ ]o.s.b.SpringApplication :Started application in 0.995 seconds (JVM running for 113.465)
2021-07-02 08:38:08.607 INFO--[190-//10.96.0.1/...]
[ ]c.z.h.HikariDataSource :HikariCP - Shutdown initiated...
2021-07-02 08:38:08.615 INFO--[190-//10.96.0.1/...]
[ ]c.z.h.HikariDataSource :HikariCP - Shutdown completed.
2021-07-02 08:38:08.855 INFO--[190-nio-8724-exec-2]
[ ]c.z.h.HikariDataSource :HikariCP - Starting...
2021-07-02 08:38:08.904 INFO--[190-nio-8724-exec-2]
[ ]c.z.h.HikariDataSource :HikariCP - Start completed.

更新:对于第一个问题,这是因为我的 pom 文件中的配置覆盖了热重载事件模式的配置,我删除了 jacyspt 依赖项,因此热重载事件自动检测而不调用执行器/刷新删除以下依赖项:

    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>1.15</version>
    </dependency>

标签: javakubernetesapache-kafkahikaricp

解决方案


推荐阅读