`

关于Quick Server的Object Pool解读

阅读更多
  Quick Server (1.4.6 版本)的对象池是交给org.quickserver.net.server.PoolManager管理的,框架中其唯一的实现类是org.quickserver.net.server.impl.BasicPoolManager。
   先看下quick server的配置文件中关于 object-pool的配置项:
<object-pool>
<max-active>..</max-active>
<max-idle>..</max-idle>
<init-size>..</init-size>
<thread-object-pool>
..		
</thread-object-pool>
<client-handler-object-pool>
..
</client-handler-object-pool>
<byte-buffer-object-pool>
..
</byte-buffer-object-pool>		
<client-data-object-pool>
..
</client-data-object-pool>
</object-pool>

其中可配置4种对象池,如果不对4种池专门配置,则共享<object-pool>的max-active、max-idle、init-size参数值。4种池是相互独立的。看BasicPoolManager源码:
public ObjectPool makeByteBufferPool(PoolableObjectFactory factory, PoolConfig opConfig)
/*    */   {
/* 36 */     GenericObjectPool.Config bconfig = new GenericObjectPool.Config();
/* 37 */     bconfig.maxActive = opConfig.getMaxActive();
/* 38 */     bconfig.maxIdle = opConfig.getMaxIdle();
/* 39 */     bconfig.whenExhaustedAction = 1;
/* 40 */     return new GenericObjectPool(factory, bconfig);
/*    */   }
/*    */ 
/*    */   public ObjectPool makeClientPool(PoolableObjectFactory factory, PoolConfig opConfig)
/*    */   {
/* 45 */     GenericObjectPool.Config bconfig = new GenericObjectPool.Config();
/* 46 */     bconfig.maxActive = opConfig.getMaxActive();
/* 47 */     bconfig.maxIdle = opConfig.getMaxIdle();
/* 48 */     bconfig.whenExhaustedAction = 0;
/* 49 */     return new GenericObjectPool(factory, bconfig);
/*    */   }
/*    */ 
/*    */   public ObjectPool makeClientHandlerPool(PoolableObjectFactory factory, PoolConfig opConfig)
/*    */   {
/* 54 */     GenericObjectPool.Config bconfig = new GenericObjectPool.Config();
/* 55 */     bconfig.maxActive = opConfig.getMaxActive();
/* 56 */     bconfig.maxIdle = opConfig.getMaxIdle();
/*    */ 
/* 58 */     bconfig.whenExhaustedAction = 0;
/* 59 */     return new GenericObjectPool(factory, bconfig);
/*    */   }
/*    */ 
/*    */   public ObjectPool makeClientDataPool(PoolableObjectFactory factory, PoolConfig opConfig)
/*    */   {
/* 64 */     GenericObjectPool.Config bconfig = new GenericObjectPool.Config();
/* 65 */     bconfig.maxActive = opConfig.getMaxActive();
/* 66 */     bconfig.maxIdle = opConfig.getMaxIdle();
/* 67 */     bconfig.whenExhaustedAction = 0;
/* 68 */     return new GenericObjectPool(factory, bconfig);
/*    */   }

ClientPool,ClientHandlerPool,ClientDataPool,ByteBufferPool4种池对象都是org.apache.commons.pool.impl.GenericObjectPool的实例。GenericObjectPool是抽象类BaseObjectPool的子类,其池基于org.apache.commons.collections.CursorableLinkedList实现,是List的一个实现。
分享到:
评论

相关推荐

    quick server

    "Quick Server"是一款轻量级的服务器软件,主要用于快速搭建和管理网络服务。这款服务器程序设计简洁、高效,适合小型到中型应用的部署。它提供了丰富的API接口和配置选项,便于开发者进行定制化开发,以满足不同...

    Quick Easy FTP Server 4.0.0

    Quick Easy FTP Server 4.0.0 是一款轻量级且易于使用的FTP服务器软件,它专为需要在本地或网络环境中快速搭建FTP服务的用户设计。FTP(File Transfer Protocol)是一种标准的网络协议,用于在互联网上进行文件传输...

    Quick Easy FTP Server V4.0.0.zip

    Quick Easy FTP Server是一款专为中文用户设计的FTP服务器软件,其V4.0.0版本在功能和用户体验上都有所优化。FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,它允许用户通过网络从远程主机下载或...

    Quick Easy Ftp Server扫描软件

    Quick Easy Ftp Server是一款简单易用的FTP服务器软件,它为用户提供了一个快速设置和管理FTP服务的平台。FTP(File Transfer Protocol)是互联网上一种广泛使用的文件传输协议,主要用于在不同计算机之间上传、下载...

    Python库 | quick_server-0.3.0-py2-none-any.whl

    Python库quick_server-0.3.0-py2-none-any.whl是一个用于快速构建服务器端应用的工具,专为Python 2设计。这个压缩包文件是Python社区中常见的wheel格式,它是一种预编译的Python软件包,旨在简化安装过程,提高效率...

    Quick Easy FTP Server V4.0.0

    Quick Easy FTP Server V4.0.0 一键架设服务器,让本机成为服务器

    Quick Easy FTP Server V4.0.0 简体中文绿色免费版

    Quick Easy FTP Server V4.0.0 是一款专为个人和小型企业设计的简单易用、免费的FTP服务器软件。FTP(File Transfer Protocol)是一种网络协议,用于在互联网上进行文件传输。这款FTP服务器的简体中文版本方便了中文...

    Quick Easy FTP Server

    "Quick Easy FTP Server" 是一个针对初学者和专业人士的简单易用的FTP服务器解决方案,旨在帮助用户快速、高效地搭建自己的FTP服务器。本文将深入探讨FTP服务器的基本概念,讲解如何利用"Quick Easy FTP Server"进行...

    全中文FTP服务器 Quick Easy FTP Server V3[1].8

    全中文FTP服务器 Quick Easy FTP Server V3[1].8全中文FTP服务器 Quick Easy FTP Server V3[1].8全中文FTP服务器 Quick Easy FTP Server V3[1].8全中文FTP服务器 Quick Easy FTP Server V3[1].8全中文FTP服务器 ...

    Quick'n Easy FTP Server

    Quick'n Easy FTP Server是一款非常适合初学者和临时需要搭建FTP服务器的用户的软件。FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,而FTP服务器则是提供FTP服务的系统,允许用户上传、下载文件...

    绿色版FTP quick easy ftp server

    NULL 博文链接:https://bdk82924.iteye.com/blog/1523834

    Quick Easy FTP Server 3.9.1.zip

    Quick Easy FTP Server 是一个全中文FTP服务器软件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能

    Quick Easy Ftp Server

    Quick Easy Ftp Server是一款便捷的FTP(File Transfer Protocol)服务器软件,主要特点是绿色小巧,无需进行繁琐的安装过程,用户可以快速启动并开始使用FTP服务。FTP是一种广泛应用于互联网上的文件传输协议,允许...

    Quick 'n Easy Mail Server

    Quick 'n Easy Mail Server 非常值得收藏的 简单方便的邮箱服务器

    Quick Easy FTP Server v4.00.zip

    Quick Easy FTP Server是一个小巧的中文FTP服务器软件,绿色单文件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能。 Quick Easy FTP Server软件具有以下特点: 1.软件安装程序极小,但性能毫不逊色于专业...

    全中文FTP服务器 Quick Easy FTP Server V3.9.1 绿色版

    Quick Easy FTP Server是一款专为中文用户设计的FTP服务器软件,其V3.9.1绿色版无需安装,方便快捷。FTP(File Transfer Protocol)是一种网络协议,主要用于在互联网上进行文件传输,它允许用户从一台计算机上传或...

    全中文FTP服务器 Quick Easy FTP Server V4.0.0单文件版

    全中文FTP服务器 Quick Easy FTP Server V4.0.0单文件版 Quick Easy FTP Server是一个全中文FTP服务器软件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能 软件介绍: 软件具有以下特点: 1.软件安装...

Global site tag (gtag.js) - Google Analytics