rSintoma:
Ao executar determinadas rotinas no produto Datasul 11, era apresentado a mensagem de Excessão Tecnica, informando que não era possivel obter conexão.
No log do JBOSS foi identificado as mensagens:
2013-08-10 09:00:16,849 ERROR [com.datasul.framework.ui.ro.DatasulService] Erro ao obter conexao
com.datasul.framework.dcl.exception.DatasulRuntimeException: Erro ao obter conexao
Caused by: com.progress.open4gl.dynamicapi.SessionPool$NoAvailableSessionsException: SessionPool : NoAvailableSessions[Could not connect to the AppServer: General Error: Connection refused. (7203)]
Analisando os logs do broker e server doserviço appserver, ele estava iniciado corretamente.
Causa:
Para analise deste caso, alem do log do JBOSS e logs do appserver, pedimos os logs "admserv.olg" e "NS1.ns.log", que são criados no diretorio temporario WRK do Progress.
Pelo log NS1.ns.log, verificamos que o serviço appserver em questão, estava registrando no NameServer com um ip local (127.0.0.1)
[13/08/08@10:42:25.585-0300] P-019245 T-NS1 2 NS NSPlumbing Broker 11d1def534ea1be0:-634d3ff3:13f9a2c5f43:-8000 Registered For Application Service AS.servico_appserver. (8207)
[13/08/10@08:56:11.488-0300] P-019245 T-NS1 2 NS NSPlumbing Unregistering Broker 11d1def534ea1be0:-634d3ff3:13f9a2c5f43:-8000 AS.servico_appserver nome_servidor/127.0.0.1 3290. (8210)
Neste caso, o servidor do JBOSS não era o mesmo servidor do appserver, desta forma, quando JBOSS solicitava ao NameServer as informações do serviço appserver, era retornado o IP local, procurando o serviço appserver na propria maquina do JBOSS.
Solução:
Parar o serviço appserver
Editar as propriedades do serviço appserver e alterar na seção do broker a opção "Controlling NameServer", marcando a opção Registration Mode como "Register-Hostname", inserindo o nome do servidor.
- Certifique que do servidor JBOSS consegue ter acesso ao servidor Appserver pelo nome
Reiniciar o serviço appserver.