论DATASNAP中间件对象池

在此,笔者以DATASNAP为例,其它中间件以此类推。

中间件为什么要使用对象池?

对象池——让所有的对象免堕轮回之苦,对象不再为其生和死而烦恼。

要想让中间件长久稳定地运行,做到无人值守,对象池很重要,对象池大致分为以下几类。

1)线程池,DATASNAP使用INDY10作为其通讯控件,其线程池实际上就是使用INDY10的,只是DATASNAP在其基础上再封装了一层壳罢了,留给我们的只需要设置相关控件的属性即可,在些不多说;

2)服务对象池,DATASNAP向导会生成一个ServerMethodsUnit1.pas单元,该单元中有一个类:TServerMethods1,它就是中间件服务对象,该类PUBLIC里面的方法就是将要为客户端提供服务的远程服务方法。

3)数据模块池,这个池有点特殊,它本身是一个大的对象集容器池,在数据模块窗体上放有数据库连接对象、数据集对象、巢状对象,因此数据模块池=数据库连接池+数据集对象池+巢状对象池等其它对象池。对于这个池大家可能有争议,为什么不搞成几个独立的池:数据库连接池、数据集对象池、巢状对象池等?答案就是:省事。做成一个池既然可以做到很多个池的效果,那就一个池好了。

当然还可以有其它的对象池,在此略过。

 

posted @   delphi中间件  阅读(2473)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示