当前位置:网站首页>Returned object not currently part of this pool
Returned object not currently part of this pool
2022-08-05 05:05:00 【绅士jiejie】
问题背景
使用了org.apache.commons.pool2依赖来做了一些池化操作,把一些已经实例化成功的客户端池化进了对象池,通过池化加快接口的查询效率。
问题分析
以上异常翻译过来就是【返回的对象当前不属于此池】,为什么会出现这种情况,因为导致这个报错的接口允许接收多个参数,然后一并返回结果,为了提升查询效率,所以引入了多线程查询,然后每个线程运行执行的底层逻辑方法中,有一个核心逻辑就是会去对象池中拿客户端对象,如果拿不到就会创建对象池同时生成客户端对象放进对象池中。正常情况下,是不会有这种异常的,问题在于多线程并发情况下,如果底层不加锁什么的,保证同步,那么很可能就会创建出多个对象池,但其实真正有引用关系的又是最后一个生成的对象池,因此前面创建出来的一些对象,在归还对象入池时,就会发现这对象不属于最后一个被引用的对象池,就会报出【Returned object not currently part of this pool】错误。
解决方案
1.如果没有什么懒加载的想法,那么建议可以在项目启动时初始化好对象池。
2.如果怕有些对象根本用不到,一开始就初始化出来,会导致资源浪费,那么建议试试加锁,不过这样的话就会影响到整体查询效率了。
边栏推荐
- C#关于set()和get()方法的理解及使用
- entry point injection
- AUTOCAD——标注关联
- Application status of digital twin technology in power system
- 开发一套高容错分布式系统
- 【cesium】3D Tileset 模型加载并与模型树关联
- 淘宝账号如何快速提升到更高等级
- C语言-大白话理解原码,反码和补码
- Redis哨兵模式配置文件详解
- The solution to the failure to read channel information when dedecms generates a message in the background
猜你喜欢
How can Flutter parent and child components receive click events
dedecms后台生成提示读取频道信息失败的解决方法
for..in和for..of的区别
Flutter real machine running and simulator running
[cesium] element highlighting
雷克萨斯lm的安全性到底体现在哪里?一起来看看吧
There are a lot of 4T hard drives remaining, prompting "No space left on device" insufficient disk space
JeeSite New Report
Flutter learning three-Flutter basic structure and principle
App rapid development and construction experience: the importance of small programs + custom plug-ins
随机推荐
number_gets the specified number of decimals
使用二维码解决固定资产管理的难题
Flutter Learning 4 - Basic UI Components
phone call function
Dephi逆向工具Dede导出函数名MAP导入到IDA中
uboot开启调试打印信息
关于sklearn库的安装
【cesium】元素高亮显示
flex布局青蛙游戏通关攻略
Day019 方法重写与相关类的介绍
University Physics---Particle Kinematics
浅析主流跨端技术方案
Redis哨兵模式配置文件详解
How to deal with DNS hijacking?
延迟加载js方式async与defer区别
Mini Program_Dynamic setting of tabBar theme skin
How to identify false evidence and evidence?
Flutter学习4-基本UI组件
Visibility of multi-column attribute column elements: display, visibility, opacity, vertical alignment: vertical-align, z-index The larger it is, the more it will be displayed on the upper layer
u-boot调试定位手段