Spring cloud Gateaway : Unable to find GatewayFilterFactory with name RequestRateLimiter

本文分享了在Spring Boot中配置Redis Sentinel模式时遇到的RouteDefinitionRouteLocator报错问题,解决方案是将RedisConnectionFactory接口替换为具体实现类。解决过程和可能的原因分析有助于开发者快速定位问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

承接上文《RedisTemplateConfig sentinel(哨兵模式) cluster(集群模式) 一键配置切换代码》 ,写一下之前遇到过的一个错误,也方便大家遇见同样错误时借鉴一下

首先来看一下配置redis sentinel redisConnectionFactory 的代码

@Bean("redisConnectionFactory")
	@ConditionalOnProperty(value = "spring.redis.mode",havingValue = "sentinel")
	public RedisConnectionFactory redisConnectionFactory(@Qualifier("poolConfig") GenericObjectPoolConfig config,
									RedisSentinelConfiguration redisConfig) {//注意传入的对象名和类型RedisSentinelConfiguration
		LettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder().poolConfig(config).build();
		return new LettuceConnectionFactory(redisConfig, clientConfiguration);
	}

可以忽略 

@ConditionalOnProperty(value = "spring.redis.mode",havingValue = "sentinel")

这个是用来根据nacos 配置判断自动注入cluster 模式还是sentinel 模式的,然后启动gateaway 报如下错误

 然后跟一下代码

既然是

RouteDefinitionRouteLocator 类报错那就直接看报错方法 发现一共32个factory,确实没有RequestRateLimiter 的factory 

 直接说一下我的解决方式,其实也是随便改完之后就好用了,还没有进行跟踪

下面看看我是如何解决的

对,你看的没错,由原来的返回

redisConnectionFactory 接口变为返回实现类就ok了,然后再看下factorys

变为了33个factory 并且以及有了RequestRateLimiter 

按理说返回接口与实现其实应该一样的,等以后有时间了再重新跟踪一下这个问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峡谷电光马仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值