jedis-JedisConnectionException:Could not get a resource

问题描述

JedisConnectionException:Could not get a resource
前辈们,您们好:
硬件:win7 64bit webloginc 10.3 (32bit)/java 1.6(安装weblogic使用的自带Java版本)
我使用weblogic部署wap环境后登录(在进入debug之前就会异常),就会出现“不能从连接池获取资源”异常具体如下:
at redis.clients.util.Pool.getResource(Pool.java:22)
at com.ai.log.util.redis.RedisManager.getJedis(RedisManager.java:64)
at com.ai.log.client.RedisLogAppend.getJedis(RedisLogAppend.java:87)
at com.ai.log.client.RedisLogAppend.append(RedisLogAppend.java:48)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:187)
at org.apache.log4j.Category.forcedLog(Category.java:372)
at org.apache.log4j.Category.error(Category.java:286)
……(此处省略更多行)
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:134)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:69)
at redis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1665)
at redis.clients.jedis.JedisPool$JedisFactory.makeObject(JedisPool.java:72)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:840)
at redis.clients.util.Pool.getResource(Pool.java:20)
... 79 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at redis.clients.jedis.Connection.connect(Connection.java:129)
... 84 more
我使用过的方法:1、更改redis.properties配置(非-1、大数字也试过)
MaxActive=-1
MaxIdle=-1
MaxWait=10000
2、试过安装官网通用版weblogic 10.X;
3、考虑更换Tomcat部署,但是配置文件太多(15个),不知道如何部署。
发梢挠到后脑勺,异常坚强如磐石。

解决方案

HTTP Status 500 - Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pooltype Exception report

message Cannot ......
答案就在这里:redis JedisConnectionException: Could not get a resource from the pool

时间: 2024-10-24 17:07:57

jedis-JedisConnectionException:Could not get a resource的相关文章

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

超时 Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out at redis.clients.jedis.Protocol.process(Protocol.java:79) at redis.clients.jedis.Protocol.read(Protocol.java:1

Jedis常见异常汇总

Jedis虽然使用起来比较简单,但是如果不能根据使用场景设置合理的参数(例如连接池参数),不合理的使用一些功能(例如Lua和事务)也会产生很多问题,本文对这些问题逐个说明: 一.无法从连接池获取到Jedis连接 1.异常堆栈 (1) 连接池参数blockWhenExhausted = true(默认) 如果连接池没有可用Jedis连接,会等待maxWaitMillis(毫秒),依然没有获取到可用Jedis连接,会抛出如下异常: redis.clients.jedis.exceptions.Jed

Jedis介绍及常见问题分析

Jedis介绍 Jedis是一个开源的Redis数据库客户端,兼容Redis 2.8.x和3.xx,Jedis提供了以下特性: 排序 链接管理 不同类型的value的命令处理 String类型的命令处理 Hashes类型的命令处理 Lists类型的命令处理 Sets类型的命令处理 Sorted Sets类型的命令处理 事务 批量命令处理 订阅/发布 持久化的控制命令 远程控制命令 分片(MD5,MurmurHash) 集群的Key-tags功能 集群的批量命令处理 脚本的批量命令处理 Redis

Redis中Jedis版本升级后的问题总结

最近因为jedis 2.1.0接口的一些问题,升级版本了版本,结果出现了一个诡异的问题:时常能正常启动,时常出现jedisPool初始化时 java.lang.IllegalArgumentException: hostname can't be null 原因出在spring JedisPool构造参数上,之前spring的配置如下 <bean id="jedisPool" class="redis.clients.jedis.JedisPool"> 

JedisPool资源池优化

背景 合理的JedisPool资源池参数设置能为业务使用Redis保驾护航,本文将对JedisPool的使用.资源池的参数进行详细说明,最后给出"最合理"配置. 一.使用方法 以官方的2.9.0为例子(Jedis Release),Maven依赖如下: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version

善待Redis里的数据--Unable to validate object

又是一篇关于姿势的文章,为什么是"又"呢?因为上个星期刚写完一篇关于Apache Commons Pool的正确使用姿势的文章,点击此处阅读. Redis为我们提供便利的同时,我们也要善待里面的数据 Redis是我们数据的保管者,我们可以随时存随时取,大的小的,重要的不重要的,它都毫无怨言的帮我们保存着,甚至有些时候,我们变得很懒,存东西进去的时候顺便还贴张纸:"过了一个星期就帮我扔了吧",对于这些,Redis也都默默的接受了(谁叫Antirez把redis设计的这

分析Tomcat 类加载机制触发的 Too many open files 问题

宋顺,携程框架研发部技术专家. 2016年初加入携程,主要负责中间件产品的相关研发工作. 毕业于复旦大学软件工程系, 曾就职于大众点评,担任后台系统技术负责人. 说起 Too many open files 这个报错,想必大家一定不陌生.在 Linux 系统下,如果程序打开文件句柄数(包括网络连接.本地文件等)超出系统设置,就会抛出这个错误. 不过最近发现 Tomcat 的类加载机制在某些情况下也会触发这个问题.今天就来分享下问题的排查过程.问题产生的原因以及后续优化的一些措施. 在正式分享之前

Redis相关命令及Jedis的demo(转)

org.springframework.data.redis.core.RedisTemplate在List操作时的一个注意事项:BoundListOperations boundListOperations = redisTemplate.boundListOps("key"); org.springframework.data.redis.core.BoundListOperations中range api使用的是lrange命令,因此要使用lpush存放最新的元素,lpush存放

Java中使用Jedis操作Redis

使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip 1 package com.test; 2 3 import java.util.HashMap; 4 im