O que são?
O REST server possui recursos de Callback, definidos na sessão [User Exits], onde é possível configurar funções customizadas para serem executadas em quatro (4) momentos específicos, sendo:
dois (2) na infraestrutura do server:
Criação da Thread [onStart];
Finalização da Thread [onStop].
dois (2) no atendimento da requisição HTTP:
Escolha qual Thread executará a requisição HTTP [onSelect];
Tratamento dos erros de runtime [onError].
Sendo assim, ao informar o nome da função em uma dessas chaves, o tlppCore irá executar a função do usuário conforme sua funcionalidade proporcionando flexibilidade no uso do REST.
Nota: Necessário informar um nome válido de função e que esteja compilada no RPO correspondente no Environment do serviço REST, caso contrário, o tlppCore irá ignorar essa configuração e seguirá sem o desvio do Callback.
Configuração
Observem o exemplo de configuração abaixo:
Nota: os trechos que estão ocultos foram substituídos por ... para facilitar a leitura. A configuração completa você pode consultar
[HTTPSERVER]
Enable=1
Servers=HTTP_SRV
...
[HTTP_SRV]
locations=HTTP_ROOT
...
[HTTP_ROOT]
ThreadPool=THREAD_POOL
...
[THREAD_POOL]
UserExits=TP_UEX
...
Slaves=SLAVE_01,SLAVE_02
[TP_UEX]
OnSelect=U_OnSelect
OnError=U_OnError
[SLAVE_01]
UserExits=SLAVES_UEX
...
[SLAVE_02]
UserExits=SLAVES_UEX
...
[SLAVES_UEX]
OnStart=U_OnStart
OnStop=U_OnStop
OnError=U_OnError
Nesse exemplo de configuração, optamos por algo simples, ou seja, deixamos para a Thread principal [THREAD_POOL] a responsabilidade de escolha das threads de atendimento, por isso configuramos a função de Select e para as Threads de Slaves a responsabilidade de atendimento das requisições, dessa forma configuramos para elas as funções de Start e Stop.
Note que o tratamento de erro, função de Error, deixamos configurado para todas as Threads, pois é comum à todos.
Sendo assim, começamos agora a demonstrar como se utiliza a cada um dos Callback.
Como se utilizam?
Para cada User Exits, utilize sua documentação específica:
1 -
2 -
3 -
4 -