Returned object not currently part of this pool
问题背景
使用了org.apache.commons.pool2依赖来做了一些池化操作,把一些已经实例化成功的客户端池化进了对象池,通过池化加快接口的查询效率。
问题分析
以上异常翻译过来就是【返回的对象当前不属于此池】,为什么会出现这种情况,因为导致这个报错的接口允许接收多个参数,然后一并返回结果,为了提升查询效率,所以引入了多线程查询,然后每个线程运行执行的底层逻辑方法中,有一个核心逻辑就是会去对象池中拿客户端对象,如果拿不到就会创建对象池同时生成客户端对象放进对象池中。正常情况下,是不会有这种异常的,问题在于多线程并发情况下,如果底层不加锁什么的,保证同步,那么很可能就会创建出多个对象池,但其实真正有引用关系的又是最后一个生成的对象池,因此前面创建出来的一些对象,在归还对象入池时,就会发现这对象不属于最后一个被引用的对象池,就会报出【Returned object not currently part of this pool】错误。
解决方案
1.如果没有什么懒加载的想法,那么建议可以在项目启动时初始化好对象池。
2.如果怕有些对象根本用不到,一开始就初始化出来,会导致资源浪费,那么建议试试加锁,不过这样的话就会影响到整体查询效率了。
Returned object not currently part of this pool相关推荐
- 享元模式源码解析(jdk+tomcat)
首先我们看一下Integer这个类,在使用它的时候非常非常的频繁,那我们看一下Integer有一个方法,叫valueOfpublic final class Integer extends Numbe ...
- java ref 应用类型_Java四种引用类型
Java四种引用类型 在java中,类型就分为两种,基本类型和引用类型或自定义类型. 引用类型又分为四种: 强引用 StrongReference 软引用 SoftReference 若引用 Weak ...
- 备战面试日记(3.3) - (设计模式.23种设计模式之结构型模式)
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.9 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...
- From C++ to Objective-C
Contents(目录) Table of contents (章节目录) Introduction (导言) 1 Objective-C and Cocoa 1.1 A short history ...
- 掌握JedisPoolConfig参数配置,学会调优技能
点击上方☝Java编程技术乐园,轻松关注! 及时获取有趣有料的技术文章 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 你好,JedisPoolConfig Java中使 ...
- springboot集成lettuce连接池
获取连接时流程图: 第一次访问时:RedisTemplate.java @Nullablepublic <T> T execute(RedisCallback<T> actio ...
- oracle11 share pool,Oracle Shared pool 详解
. Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...
- java Object解析
java Object是所有对象的根父类,所有对象都直接或间接集成自该类. java 的Object类也比较简单,有equals(Object).toString().finalize() java方 ...
- Object对象具体解释(二)之clone
clone方法会返回该实例对象的一个副本,通常情况下x.clone() != x || x.clone().getClass() == x.getClass() || x.clone().equals ...
- ceph常用命令-pool相关命令
2019独角兽企业重金招聘Python工程师标准>>> 1.1 查询系统中所有的pool 命令格式: ceph osd lspools 或rados lspools 1.2 ...
最新文章
- html精灵图坐标如何确定,如何使用HTML中的精灵图
- Javascript社区是时候接受async/await语法了
- python自学要多久 知乎-怎么自学python,大概要多久?
- 13.5 常见Random类
- linux 输出gc日志,Tomcat输出保存JVM GC日志文件
- 机房日常技术总结——Windows篇
- 微信小程序走出国门,国际化将指日可待?
- oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...
- dataframe读取列表中对应的列
- 对于spring的一些巩固一些难点的理解 2021-04-18
- 数据结构顺序表的查找_数据结构1|顺序表+链表
- mysql 减去_MySql进阶面试题
- 修改android 工程图标,AndroidStudio替换项目图标ic_launcher操作
- panabit之HTTP管控
- Excel 2010 VBA 入门 069 工作表事件之worksheet_selectionchange
- Github常用License总结(MIT/Apache/GPL)
- 谁拿了奖金?HID2020竞赛、研讨会及颁奖典礼
- 洛谷 P3387 【模板】缩点(scc 缩点)
- [转帖]AMOLED的技术和OLED有哪些联系和区别
- c语言d1和f1的区别,讲点真话:当贝d1和f1区别有没有?测评哪个好?谁来分享使用心得...