Árvore de páginas

Define as configurações do thread pool, o ambiente e as características das threads.


ChaveTipoObrigatório
EnvironmentstringX
MinThreadsintegerX
MaxThreadsintegerX
MinFreeThreadsintegerX
GrowthFactorintegerX
Slavesstring/array
InactiveTimeoutinteger
ActiveTimeoutinteger
AcceptTimeoutinteger
UserExistsstring


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.


Slaves

Lista com o(s) thread pool(s) filho(s)/slave(s) deste thread pool. Pode(m) ser utilizado(s) para que sejam direcionados os atendimentos das requisições.

Quando declarada, esta chave respeita o formato de string no appserver.ini e o formato de array quando utilizado o JSON.


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 30000 (30 segundos) por default.


ActiveTimeout

Indica o tempo máximo em milisegundos que a thread ficará ativa mesmo recebendo conexões. Se este tempo for excedido a thread 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 por padrão o valor de 3 vezes o valor de InactiveTimeout.


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.


Observações


** Quando declarada, esta chave respeita o formato de string no appserver.ini e o formato de array quando utilizado o JSON.

Exemplos de configuração
Arquivo appserver.ini
[INIT_THREAD_POOL_01]
Environment=HTTPREST
MinThreads=2
MaxThreads=4
MinFreeThreads=2
GrowthFactor=1
Slaves=SLAVE_THREAD_POOL_01_01,SLAVE_THREAD_POOL_01_02
InactiveTimeout=30000
AcceptTimeout=10000
UserExits=UE_01

[INIT_THREAD_POOL_02]
Environment=HTTPREST
MinThreads=1
MaxThreads=5
MinFreeThreads=1
GrowthFactor=1
Slaves=SLAVE_THREAD_POOL_02_01,SLAVE_THREAD_POOL_02_02
UserExits=UE_02
JSON
jConfig['INIT_THREAD_POOL_01'] := JsonObject():new()
jConfig['INIT_THREAD_POOL_01']['MinThreads'] := 1
jConfig['INIT_THREAD_POOL_01']['MaxThreads'] := 4
jConfig['INIT_THREAD_POOL_01']['MinFreeThreads'] := 1
jConfig['INIT_THREAD_POOL_01']['GrowthFactor'] := 1
jConfig['INIT_THREAD_POOL_01']['Slaves'] := {"SLAVE_THREAD_POOL_01_01","SLAVE_THREAD_POOL_01_02"}
jConfig['INIT_THREAD_POOL_01']['InactiveTimeout'] := 30000
jConfig['INIT_THREAD_POOL_01']['AcceptTimeout'] := 10000
jConfig['INIT_THREAD_POOL_01']['UserExists'] := UE_01

jConfig['INIT_THREAD_POOL_02'] := JsonObject():new()
jConfig['INIT_THREAD_POOL_02']['MinThreads'] := 1
jConfig['INIT_THREAD_POOL_02']['MaxThreads'] := 4
jConfig['INIT_THREAD_POOL_02']['MinFreeThreads'] := 1
jConfig['INIT_THREAD_POOL_02']['GrowthFactor'] := 1
jConfig['INIT_THREAD_POOL_02']['Slaves'] := {"SLAVE_THREAD_POOL_02_01","SLAVE_THREAD_POOL_02_02"}
jConfig['INIT_THREAD_POOL_02']['UserExists'] := UE_02


  • Sem rótulos