jueves, 31 de enero de 2013

JobPerConnection y PoolSize

En una entrada anterior hablamos del tamaño de grupo o PoolSize (http://blogdeensemble.blogspot.com.es/2011/06/aclarando-el-concepto-tamano-de-grupo.html) ahora hablamos de otro setting que está relacionado.

En el caso especial de los adaptadores basados ​​en TCP (TCP, HTTP, SOAP, etc) el valor del setting PoolSize tiene un comportamiento ligeramente diferente al habitual y depende de la configuración de JobPerConnection.

Si el setting JobPerConnection se establece en "false" hay uno y sólo un listener (BusinessService Job) para cualquier valor de PoolSize mayor que "0" (PoolSize igual a "0" impediría que este adaptador funcionase).

Si el setting JobPerConnection se establece en "true" y el setting PoolSize es mayor que "1", este sirve como un límite en el número de jobs de conexión simultáneos que pueden crearse. En el caso de que se alcance el límite de jobs, el listener no aceptará ninguna conexión más hasta que uno de los jobs de conexión existentes termine o muera. Adicionalmente, en el caso de JobPerConnection = "true" el valor "1" en PoolSize se usa para posibilitar la creación ilimitada de nuevos jobs (excepto el límite puesto por el sistema operativo).

El setting QSize es importante en este caso porque si Qsize es igual a "0" Ensemble no permitirá que el sistema operativo acepte (encole) una conexión si el listener ha aceptado ya una conexión.

En general la configuración por defecto JobPerConnection="true", PoolSize="1" y Qsize=100 siempre nos vendrá bien.

Lo gracioso es que todo esto no viene en la ayuda. Al menos hasta la versión actual 2012.2. Así que si habeis llegado aqui buscando más información sobre esto. Enhorabuena !!