问题背景

使用了org.apache.commons.pool2依赖来做了一些池化操作,把一些已经实例化成功的客户端池化进了对象池,通过池化加快接口的查询效率。

问题分析

以上异常翻译过来就是【返回的对象当前不属于此池】,为什么会出现这种情况,因为导致这个报错的接口允许接收多个参数,然后一并返回结果,为了提升查询效率,所以引入了多线程查询,然后每个线程运行执行的底层逻辑方法中,有一个核心逻辑就是会去对象池中拿客户端对象,如果拿不到就会创建对象池同时生成客户端对象放进对象池中。正常情况下,是不会有这种异常的,问题在于多线程并发情况下,如果底层不加锁什么的,保证同步,那么很可能就会创建出多个对象池,但其实真正有引用关系的又是最后一个生成的对象池,因此前面创建出来的一些对象,在归还对象入池时,就会发现这对象不属于最后一个被引用的对象池,就会报出【Returned object not currently part of this pool】错误。

解决方案

1.如果没有什么懒加载的想法,那么建议可以在项目启动时初始化好对象池。
2.如果怕有些对象根本用不到,一开始就初始化出来,会导致资源浪费,那么建议试试加锁,不过这样的话就会影响到整体查询效率了。

Returned object not currently part of this pool相关推荐

  1. 享元模式源码解析(jdk+tomcat)

    首先我们看一下Integer这个类,在使用它的时候非常非常的频繁,那我们看一下Integer有一个方法,叫valueOfpublic final class Integer extends Numbe ...

  2. java ref 应用类型_Java四种引用类型

    Java四种引用类型 在java中,类型就分为两种,基本类型和引用类型或自定义类型. 引用类型又分为四种: 强引用 StrongReference 软引用 SoftReference 若引用 Weak ...

  3. 备战面试日记(3.3) - (设计模式.23种设计模式之结构型模式)

    本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试. 记录日期:2022.1.9 大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习. 文章 ...

  4. From C++ to Objective-C

    Contents(目录) Table of contents (章节目录) Introduction (导言) 1 Objective-C and Cocoa  1.1 A short history ...

  5. 掌握JedisPoolConfig参数配置,学会调优技能

    点击上方☝Java编程技术乐园,轻松关注! 及时获取有趣有料的技术文章 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 你好,JedisPoolConfig Java中使 ...

  6. springboot集成lettuce连接池

    获取连接时流程图: 第一次访问时:RedisTemplate.java @Nullablepublic <T> T execute(RedisCallback<T> actio ...

  7. oracle11 share pool,Oracle Shared pool 详解

    . Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...

  8. java Object解析

    java Object是所有对象的根父类,所有对象都直接或间接集成自该类. java 的Object类也比较简单,有equals(Object).toString().finalize() java方 ...

  9. Object对象具体解释(二)之clone

    clone方法会返回该实例对象的一个副本,通常情况下x.clone() != x || x.clone().getClass() == x.getClass() || x.clone().equals ...

  10. ceph常用命令-pool相关命令

    2019独角兽企业重金招聘Python工程师标准>>> 1.1 查询系统中所有的pool 命令格式: ceph osd lspools 或rados lspools 1.2      ...

最新文章

  1. html精灵图坐标如何确定,如何使用HTML中的精灵图
  2. Javascript社区是时候接受async/await语法了
  3. python自学要多久 知乎-怎么自学python,大概要多久?
  4. 13.5 常见Random类
  5. linux 输出gc日志,Tomcat输出保存JVM GC日志文件
  6. 机房日常技术总结——Windows篇
  7. 微信小程序走出国门,国际化将指日可待?
  8. oracle将字符串的日期格式化,oracle格式化字符串 oracle 怎么把字符串转换成日期...
  9. dataframe读取列表中对应的列
  10. 对于spring的一些巩固一些难点的理解 2021-04-18
  11. 数据结构顺序表的查找_数据结构1|顺序表+链表
  12. mysql 减去_MySql进阶面试题
  13. 修改android 工程图标,AndroidStudio替换项目图标ic_launcher操作
  14. panabit之HTTP管控
  15. Excel 2010 VBA 入门 069 工作表事件之worksheet_selectionchange
  16. Github常用License总结(MIT/Apache/GPL)
  17. 谁拿了奖金?HID2020竞赛、研讨会及颁奖典礼
  18. 洛谷 P3387 【模板】缩点(scc 缩点)
  19. [转帖]AMOLED的技术和OLED有哪些联系和区别
  20. c语言d1和f1的区别,讲点真话:当贝d1和f1区别有没有?测评哪个好?谁来分享使用心得...

热门文章

  1. DPDK ipv4 ip分片与重组
  2. 国庆高质量出行,可视化开启智慧旅游
  3. python实现英文新闻摘要自动提取_Python实现英文新闻摘要自动提取
  4. 如何使用spring2.0
  5. [ P1 ] 雷达相机标定基本知识
  6. 移动通信基础(8)帧结构
  7. 论文文献综述的题目是什么样的,应该怎么写?
  8. 第十二章:如何制定里程碑
  9. 程序员如何通过努力出书做到名利双收的!
  10. 2020SpringCloud学习年终总结——第九章-Gateway