Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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 aqui


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 - onStart

...

3 - onStop

...

4 - onSelect

...

5 - onError

6 - OnSend