Define as configurações do(s) slave(s) de cada thread pool. As chaves desta sessão são idênticas as da sessão THREADPOOL, excetuando:


ChaveTipoObrigatório
EnvironmentstringX
MinThreadsintegerX
MaxThreadsinteger
MinFreeThreadsinteger
GrowthFactorinteger
InactiveTimeoutinteger
AcceptTimeoutinteger


Chaves da sessão

Environment

Esta chave define o environment(ambiente) onde o REST será executado.

Esta chave só é obrigatória quando utilizada no arquivo appserver.ini, quando utilizado o JSON ela não deve ser declarada pois como o appserver já se encontra inicializado, ele considera o environment em uso.


MinThreads

Indica a quantidade mínima de threads ativas no thread pool. O valor declarado deve ser maior que zero.


MaxThreads

Indica a quantidade máxima de threads ativas no thread pool. O seu valor deve ser maior ou igual ao declarado na chave "MinThreads".


MinFreeThreads

Indica a quantidade minima de threads ativas no thread pool. Deve ser maior ou igual ao valor declarado na chave "MinThreads".


GrowthFactor

O fator de crescimeto indica a quantidade de threads novas a serem alocadas sempre que o thread pool estiver com todas as suas threads em uso. Seu valor deve ser maior que zero.


InactiveTimeout

Indica o tempo em milisegundos que a thread ficará ativa aguardando uma nova requisição. Se este tempo for expirado a thread poderá ser finalizada conforme controle interno de threads.

O valor informado deve ser maior que zero, mas por ser uma chave opcional, quando não informada o sistema assume o valor de 30 segundos por default.


AcceptTimeout

Indica o tempo em milisegundos que uma nova requisição deve ficar na fila de processamento aguardando sua vez de ser atendida. Quando extrapolado este tempo, a requisição é descartada retornando ao client(chamador) o código de status - 503 - "Server Busy".

O valor informado deve ser maior que zero, mas por ser uma chave opcional, quando não informada o sistema assume o valor de 10 segundos por default.


UserExits

Indica o nome da sessão com a configuração das chaves UserExits. O(s) nome(s) definido(s) nesta chave deverão ser utilizado(s) na sessão USEREXITS.


Exemplos de configuração
Arquivo appserver.ini
[SLAVE_THREAD_POOL_01_01]
Environment=HTTPREST
MinThreads=2
MaxThreads=4
MinFreeThreads=2
GrowthFactor=1
InactiveTimeout=30000
AcceptTimeout=10000
UserExits=UE_01
JSON
jConfig['SLAVE_THREAD_POOL_01_01'] := JsonObject():new()
jConfig['SLAVE_THREAD_POOL_01_01']['MinThreads'] := 1
jConfig['SLAVE_THREAD_POOL_01_01']['MaxThreads'] := 4
jConfig['SLAVE_THREAD_POOL_01_01']['MinFreeThreads'] := 1
jConfig['SLAVE_THREAD_POOL_01_01']['GrowthFactor'] := 1
jConfig['SLAVE_THREAD_POOL_01_01']['InactiveTimeout'] := 30000
jConfig['SLAVE_THREAD_POOL_01_01']['AcceptTimeout'] := 10000
jConfig['SLAVE_THREAD_POOL_01_01']['UserExists'] := UE_01