redis报错Could not return the resource to the pool

这篇博客记录了SpringBoot微服务因内存不足导致的启动失败问题,具体表现为Jedis资源无法返回到池中。解决方法是增加微服务的内存分配,如设置`java -Xms2048m -Xmx2048m`。此外,也提到了其他可能的原因,如Jedis错误关闭或Redis服务器连接数不足。
摘要由CSDN通过智能技术生成

具体报错如下:

2022-08-18 10:51:06.125 [main] ERROR o.s.boot.SpringApplication - Application startup failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:779)
        at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:760)
        at org.springframework.boot.SpringApplication.afterRefresh(SpringApplication.java:747)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
        at com.dataplatform.bigData.RestBigdataKuduApplication.main(RestBigdataKuduApplication.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: redis.clients.jedis.exceptions.JedisException: Could not return the resource to the pool
        at redis.clients.jedis.JedisPool.returnResource(JedisPool.java:256)
        at redis.clients.jedis.JedisPool.returnResource(JedisPool.java:16)
        at redis.clients.jedis.Jedis.close(Jedis.java:3409)
        at com.dataplatform.bigData.service.impl.ApplicationTask.freshFaultInfoFromRedis(ApplicationTask.java:93)
        at com.dataplatform.bigData.RestBigdataKuduApplication.run(RestBigdataKuduApplication.java:39)
        at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:776)
        ... 14 common frames omitted
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply: [
        at redis.clients.jedis.Protocol.process(Protocol.java:164)
        at redis.clients.jedis.Protocol.read(Protocol.java:215)
        at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
        at redis.clients.jedis.Connection.getAll(Connection.java:310)
        at redis.clients.jedis.Connection.getAll(Connection.java:302)
        at redis.clients.jedis.Pipeline.sync(Pipeline.java:99)
        at redis.clients.jedis.Pipeline.clear(Pipeline.java:85)
        at redis.clients.jedis.BinaryJedis.resetState(BinaryJedis.java:1781)
        at redis.clients.jedis.JedisPool.returnResource(JedisPool.java:252)
        ... 19 common frames omitted

原因:本次原因由于springboot 微服务的内存不够导致的,与代码关系不大;
解决方式:
提高微服务内存占用。如:java -Xms2048m -Xmx2048m
本文只提供了一种可能性,也可能有其它原因,如jedis错误关闭,redis服务端链接数不够等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值