Histórico da Página
Quando ocorre uma interrupção da conexão de rede a dll inicia o processo de recuperação, periodicamente tentando se reconectar com o broker.
A partir da versão 2.1.11 da dll
A partir desta versão a dll faz o controle do processo de reconexão baseado no tempo, e não mais no número de tentativas.
O tempo máximo de reconexão tem um valor padrão de aproximadamente 180 segundos (3 minutos), que corresponde ao intervalo que o application server segura uma conexão que não apresenta atividade de rede.
Versões anteriores da dll
Quando ocorre uma interrupção da conexão de rede e o smart client inicia o processo de recuperação de conexão, a dll do broker (até a versão 2.1.8) faz por padrão no máximo 12 tentativas de reconexão. No entanto este processo também depende de como o application server está configurado.
Por padrão (isto é, sem configuração adicional) o application server encerra a thread do usuário caso a rede fique inativa por 180 segundos (3 minutos). Portanto, se o processo de recuperação do smart client demorar mais do que 3 minutos, quando o smart client conseguir se reconectar com o broker a recuperação da conexão com o application server não será mais possível, pois a conexão do broker com o application server não existe mais (o application server encerrou a thread do usuário e fechou a conexão comn o broker).
Para aumentar o tempo que o application server espera antes de encerrar a thread do usuário existe a chave ConnectionTimeout no arquivo de configuração appserver.ini do application server. (Esta chave pode ser especificada no environment ou na seção General). Por exemplo, no caso abaixo
1 |
|
o application server vai esperar 5 minutos antes de terminar a thread do usuário conectado neste environment, portanto vai ser possível a recuperação da conexão do smart client com o application server mesmo que a rede demore 5 minutos para voltar.
Página referente à chave ConnectionTimeout no TDN: http://tdn.totvs.com/x/dopcComo o tempo para que ocorra falha após uma tentativa de conexão pode variar bastante, dependendo de onde a falha de rede ocorreu (se próxima do smartclient, ou próxima do application server), este tempo máximo de reconexão também pode variar bastante, eventualmente chegando a 4 ou 5 minutos. Notar que se o tempo de reconexão for maior do que 3 minutos o processo de recuperação poderá não ser bem sucedido porque o application server já terá fechado a conexão correspondente, por causa do liimite padrão de 3 minutos para conexões sem atividade de rede. (Num smartclient conectado ao application server, mesmo que o operador não o utilize, uma mensagem interna de pulso é enviada para o application server a cada 60 segundos, justamente para que o application server não feche a conexão por falta de atividade).