You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

spring-data-gemfire 2.2.0版本ClientGemfirePropertiesConfigurer Bean重复定义问题咨询

根因

该问题是Spring Data GemFire 2.2.0.RELEASE版本的固有继承冲突导致:EmbeddedServiceConfigurationSupport类本身会自动注册ClientGemFirePropertiesConfigurer类型的Bean,而@EnableSSL注解加载的SSLConfiguration继承了该类,最终触发Spring上下文同Bean重复注册的报错。

可用解决方案(均无需开启全局Bean覆盖)

方案1:过滤框架默认注册的重复Bean

在启动类或核心配置类上通过@ComponentScan的排除规则,过滤掉框架自动扫描注册的默认ClientGemFirePropertiesConfigurer实例,仅保留SSL配置继承生成的实例:

@ComponentScan(excludeFilters = @ComponentScan.Filter(
    type = FilterType.ASSIGNABLE_TYPE,
    classes = org.springframework.data.gemfire.config.annotation.ClientGemFirePropertiesConfigurer.class
))

方案2:自定义Bean名称规避冲突

重写SSLConfiguration中的Bean注册逻辑,显式指定自定义的Bean名称,和框架默认Bean名称区分开:

@Configuration
public class CustomSslConfig extends SSLConfiguration {

    @Bean("customClientGemfirePropertiesConfigurer")
    @Override
    public ClientGemFirePropertiesConfigurer clientGemFirePropertiesConfigurer() {
        return super.clientGemFirePropertiesConfigurer();
    }
}

开启SSL时指定使用自定义配置类即可:

@EnableSSL(configuration = CustomSslConfig.class)

方案3:升级依赖版本

Spring Data GemFire 2.2.1.RELEASE及以上版本已修复该重复注册问题,若业务允许升级依赖,直接将spring-data-gemfire版本调整至2.2.1.RELEASE或更高即可原生解决冲突。

提示:升级前需完成依赖兼容性校验,避免影响其他现有功能。

内容的提问来源于stack exchange,提问作者user3498653

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:09:02