Board index » delphi » How to enable pooling for TMTSDataModule

How to enable pooling for TMTSDataModule


2006-10-03 10:11:27 PM
delphi191
Hi!
I use : D7, Windows XP - COM+, TMTSDataModule.
property Pooled := True;
In TLB Editor /Com+ tab -><Object pooled>is checked and when I install
com+object in Componet services / MyApp/MyComponent/properties ->Activation
tab->"Enable object pooling" isn't checked - why?
I see time boost when i check it, but how to Enable pooling by default, from
Delphi or by code?
Nik
 
 

Re:How to enable pooling for TMTSDataModule

Hi Nikolay,
What you have on the Delphi Code is ok.
First, make sure you are using Free threading, single thread apartment will
not work with object pooling.
Second, once you create your MTS object, go to the activation tab and enable
object pooling, set the minimum and maximum pool side and a creation time
out and you are good to go.
Any other question let me know, all our deployments are built using DataSnap
+ Component services with MS SQL 2000/2005 as db, so i went that road before
and i may be able to help a bit.
Att
Esteban Pacheco
estebanp.blogspot.com
A Delphi Programming Blog
www.epachsoft.com
"Nikolay Todorov" <XXXX@XXXXX.COM>writes
Quote
Hi!

I use : D7, Windows XP - COM+, TMTSDataModule.

property Pooled := True;
In TLB Editor /Com+ tab -><Object pooled>is checked and when I install
com+object in Componet services / MyApp/MyComponent/properties ->
Activation tab->"Enable object pooling" isn't checked - why?
I see time boost when i check it, but how to Enable pooling by default,
from Delphi or by code?

Nik

 

Re:How to enable pooling for TMTSDataModule

Quote
First, make sure you are using Free threading, single thread apartment
will not work with object pooling.
The model is Both.
Quote
Second, once you create your MTS object, go to the activation tab and
enable object pooling, set the minimum and maximum pool side and a
creation time out and you are good to go.
I know that, my question is how to make this with source code. I will have
many components and it wil be very hard to do this from Component service.
Quote
Any other question let me know, all our deployments are built using
DataSnap + Component services with MS SQL 2000/2005 as db, so i went that
road before and i may be able to help a bit.
My AppServer and DB is the same.
Thanks.
Nik
 

Re:How to enable pooling for TMTSDataModule

Hi again,
A bit of background, we deploy in at least 400 workstations, as part of our
client installer we include a COM+ proxy using a .MSI installer (automatic
generated for you by the component services), then by code we make this
proxy to point to our transactional servers. On the server side I create the
exact settings we need (that includes the pooling settings) once and then we
just create the COM+ server installer (using again the component services
wizard) and from that point on, everytime we deploy we don't need to go and
change those settings, the installer does it for us, on the development
environment after you run the installer once, you dont need to be resetting
this, you just shutdown the Component service application , replace the dlls
and restart the component service application.
We have all this process so automated that we just created a small script
integrated on the Delphi IDE that after compiling we just click on it and
replaces the COM dlls so we can test right away the changes.
Now if you want to go deeper you can always control all the COM+ catalog
using the TCOMAdminCatalog component in the System tab. We used to do that
for setting up the permissions, but its kind of slow, again after you do it
once, you can simply export the .MSI and you are done, permissions and COM
settings are not likely to change in the deployment environment.
Anything else, let me know.
Att.
Esteban Pacheco
estebanp.blogspot.com
www.epachsoft.com
"Nikolay Todorov" <XXXX@XXXXX.COM>writes
Quote
>First, make sure you are using Free threading, single thread apartment
>will not work with object pooling.

The model is Both.

>Second, once you create your MTS object, go to the activation tab and
>enable object pooling, set the minimum and maximum pool side and a
>creation time out and you are good to go.

I know that, my question is how to make this with source code. I will have
many components and it wil be very hard to do this from Component service.

>Any other question let me know, all our deployments are built using
>DataSnap + Component services with MS SQL 2000/2005 as db, so i went that
>road before and i may be able to help a bit.
My AppServer and DB is the same.
Thanks.

Nik


 

Re:How to enable pooling for TMTSDataModule

Thanks!
This is the right answer for me :)
Nik