Histórico da Página
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
...
seis (
...
6) momentos específicos, sendo:
...
três (
...
3) na infraestrutura do server:
...
Inicialização da Thread [onStart];
Finalização da Thread [onStop];
- Bloqueio de URN's disponibilizados pelo REST [onBlock].
...
três (
...
3) no atendimento da requisição HTTP:
Escolha qual Thread executará a requisição HTTP [onSelect];
Tratamento dos erros de runtime [onError];
- Tratamento das mensagens para todos os retornos [onSend].
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, ou dependendo da funcionalidade pode até impedir a inicializar do serviço REST.
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
Bloco de código |
---|
[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] |
...
OnBlock=U_OnBlock 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 |
...
OnSend=U_OnSend |
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
...
OnSelect, configuramos também a lista de URNs que desejamos bloquear usando OnBlock.
E
...
para as Threads de Slaves a responsabilidade de atendimento das requisições, dessa forma configuramos para elas as funções de
...
OnStart, OnStop e OnSend.
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 - onBlock
2 -
...
3 -
...
4 -
...
5 -