SpringBoot整合common-pool2实现对象池

本文介绍如何在SpringBoot项目中整合Commons-Pool,实现对象池化以提高资源利用效率。通过自定义对象工厂并配置对象池参数,演示了整个过程。

commons-pool是apacha基金会开源的一款常见的对象池工具库。

使用池化主要是为了节省对象创建和销毁的开销。比如日常开发息息相关的数据源连接池,就是为了减少连接创建的时间而生的。

springBoot整合common-pool实现对象池

  1. 引入maven依赖
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.11.1</version>
</dependency>
  1. 实现PooledObjectFactory接口,自定义对象的创建,销毁,验证等操作
@Component
@Slf4j
public class DataEnginObjectFactory implements PooledObjectFactory<DataEngin> {
   
   


    @Override
    public PooledObject<DataEngin> makeObject() throws Exception {
   
   
        DefaultPooledObject<DataEngin> object = new DefaultPooledObject<>(new DataEngin());
        log.info("创建对象-->{}",object.getObject().getCreateTime());
        return object;
    }

    /**
     * 对象要被销毁时(validateObject方法返回false或者超时)后被调用
     * @param pooledObject
     * @throws Exception
     */
    @Override
    public void destroyObject(PooledObject<DataEngin> pooledObject) throws Exception {
   
   
        log.info("销毁对象-->{}",pooledObject.getObject().getCreateTime());
        pooledObject.getObject().destory()<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值