commons-pool是apacha基金会开源的一款常见的对象池工具库。
使用池化主要是为了节省对象创建和销毁的开销。比如日常开发息息相关的数据源连接池,就是为了减少连接创建的时间而生的。
springBoot整合common-pool实现对象池
- 引入maven依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.11.1</version>
</dependency>
- 实现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()<

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

4646

被折叠的 条评论
为什么被折叠?



