論DATASNAP中間件對象池


在此,筆者以DATASNAP為例,其它中間件以此類推。

中間件為什么要使用對象池?

對象池——讓所有的對象免墮輪回之苦,對象不再為其生和死而煩惱。

要想讓中間件長久穩定地運行,做到無人值守,對象池很重要,對象池大致分為以下幾類。

1)線程池,DATASNAP使用INDY10作為其通訊控件,其線程池實際上就是使用INDY10的,只是DATASNAP在其基礎上再封裝了一層殼罷了,留給我們的只需要設置相關控件的屬性即可,在些不多說;

2)服務對象池,DATASNAP向導會生成一個ServerMethodsUnit1.pas單元,該單元中有一個類:TServerMethods1,它就是中間件服務對象,該類PUBLIC里面的方法就是將要為客戶端提供服務的遠程服務方法。

3)數據模塊池,這個池有點特殊,它本身是一個大的對象集容器池,在數據模塊窗體上放有數據庫連接對象、數據集對象、巢狀對象,因此數據模塊池=數據庫連接池+數據集對象池+巢狀對象池等其它對象池。對於這個池大家可能有爭議,為什么不搞成幾個獨立的池:數據庫連接池、數據集對象池、巢狀對象池等?答案就是:省事。做成一個池既然可以做到很多個池的效果,那就一個池好了。

當然還可以有其它的對象池,在此略過。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM