17825 - Mensagem 'Failed to retrieve RMIServer stub' ao acessar CSM Center Config
Problema:
Solução: A solução neste caso é:
1) Abrir a Admin Console do Glassfish para o domínio (domain) da CSM Center (porta padrão: 4949);
2) Alterar o IP especificado em Admin Service (menu Configurations > server-config > Admin Service) para o padrão (0.0.0.0);
3) Reiniciar o domínio/serviço da CSM Center;
4) Abrir a CSM Center Config (autenticar com usuário 'admin' e senha 'adminadmin');
5) Realizar as parametrizações de Banco de Dados e aplicar; (Será necessário reiniciar novamente o domínio da CSM Center)
A explicação para esta situação é que o serviço JMX permite monitorar e realizar configurações nos processos do Glassfish remotamente (através de uma aplicação como o jConsole ou, no nosso (Senior) caso, a CSM Center Config). Por alguma característica interna do Glassfish, este não estava resolvendo (escutando/encontrando) o IP incluído em Admin Service. Ao configurar esse endereço para 0.0.0.0 significa que ao realizar uma conexão na porta JMX com esse IP zerado, internamente o Glassfish tentará resolver (escutar/encontrar) TODOS os IPs da rede possíveis a partir da máquina onde o Glassfish está instalado. Então eventualmente ele conseguiu encontrar o IP correto e se conectar ao serviço JMX, possibilitando autenticar na CSM Center Config (essa parte é totalmente do Glassfish, a aplicação da Senior não tem controle sobre essa conexão, apenas chama o recurso disponibilizado pelo servidor de aplicações).
Caso não seja possível realizar via console, também pode-se incluir o parâmetro direto no arquivo de propriedades (/glassfish/domains/csmcenter/config/csmcenter.properties):
jmx.host = *IP do servidor*
(Alterar *IP do servidor* pelo ip do servidor onde a CSM Center está instalada)
Este parâmetro já está presente em novas instalações da CSM Center. No entanto, em versões antigas o parâmetro pode ser adicionado manualmente.
Ao tentar logar na CSM Config ocorre o seguinte erro:
Não foi possível se conectar à instância do GlassFish. Certifique-se de que a porta JMX está informada corretamente no arquivo csmcenter.properties. Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused: connect]
E no arquivo 'server.log' é exibida a seguinte mensagem:
[#|2016-12-26T13:30:50.648-0400|WARNING|glassfish3.1.2|com.senior.seguranca.csmcenter.context.CsmCenterContextImplementation|_ThreadID=84;_ThreadName=Thread-2;|[CSMCenter] Não foi possível iniciar a CSM Center. Recurso com.senior.seguranca.csmcenter.ConnectionPool não encontrado ou não disponível. Causa: Lookup failed for 'com.senior.seguranca.csmcenter.ConnectionPool' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}|#]
Rotina / Tela: CSM Center Config
Solução: A solução neste caso é:
1) Abrir a Admin Console do Glassfish para o domínio (domain) da CSM Center (porta padrão: 4949);
2) Alterar o IP especificado em Admin Service (menu Configurations > server-config > Admin Service) para o padrão (0.0.0.0);
3) Reiniciar o domínio/serviço da CSM Center;
4) Abrir a CSM Center Config (autenticar com usuário 'admin' e senha 'adminadmin');
5) Realizar as parametrizações de Banco de Dados e aplicar; (Será necessário reiniciar novamente o domínio da CSM Center)
A explicação para esta situação é que o serviço JMX permite monitorar e realizar configurações nos processos do Glassfish remotamente (através de uma aplicação como o jConsole ou, no nosso (Senior) caso, a CSM Center Config). Por alguma característica interna do Glassfish, este não estava resolvendo (escutando/encontrando) o IP incluído em Admin Service. Ao configurar esse endereço para 0.0.0.0 significa que ao realizar uma conexão na porta JMX com esse IP zerado, internamente o Glassfish tentará resolver (escutar/encontrar) TODOS os IPs da rede possíveis a partir da máquina onde o Glassfish está instalado. Então eventualmente ele conseguiu encontrar o IP correto e se conectar ao serviço JMX, possibilitando autenticar na CSM Center Config (essa parte é totalmente do Glassfish, a aplicação da Senior não tem controle sobre essa conexão, apenas chama o recurso disponibilizado pelo servidor de aplicações).
Caso não seja possível realizar via console, também pode-se incluir o parâmetro direto no arquivo de propriedades (/glassfish/domains/csmcenter/config/csmcenter.properties):
jmx.host = *IP do servidor*
(Alterar *IP do servidor* pelo ip do servidor onde a CSM Center está instalada)
Este parâmetro já está presente em novas instalações da CSM Center. No entanto, em versões antigas o parâmetro pode ser adicionado manualmente.