15733 - NullPointerException ao iniciar CSM Center
Problema: Ao iniciar o serviço CSM Center, o log do instalador ou do serviço (server.log) pode apresentar a seguinte mensagem:
[14/Mai/2013:03:03:12 BRT] ERROR [B3087]: The broker has detected an active lock file:
D:\Senior\CSMCenter\glassfish\domains\csmcenter\imq\instances\imqbroker\lock
This file indicates that there is another copy of the broker running
on acesso01:6767 that is also using the instance name imqbroker.
Please use a different instance name or terminate the broker on acesso01:6767.
OU
(...)
[#|2015-10-27T11:09:43.144-0200|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=1;_ThreadName=Thread-2;|Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
java.lang.RuntimeException: EJB Container initialization error
(...)
Caused by: java.lang.Exception
(...)
Caused by: java.lang.NullPointerException
(...)
Quando ocorre / onde se aplica: Esta situação ocorre quando o Glassfish não conseguiu criar um Broker IMQ, pois já existe um Broker com o nome de instância imqbroker rodando na porta 6767 desse servidor. Em outras palavras, para se comunicar com a CSM, a CSM Center utiliza filas de mensagens JMS. Quando a CSM Center inicia, ela cria um gerenciador para estas filas, com o nome imqbroker, na porta 6767. Se já existir um gerenciador com o mesmo nome rodando nessa porta, ela não consegue criar.
Por que já existia um IMQ Broker? Quando o Glassfish inicia e cria o Broker, ele cria um arquivo lock dentro do seu diretório de instalação para indicar que ninguém mais pode usar um Broker com o mesmo nome na mesma porta. Quando o Glassfish para, ele exlcui esse arquivo. Porém quando o Glassfish para inesperadamente (queda de energia, matando o processo, etc), ele não chega a excluir o arquivo, tornando o Broker lockado eternamente.
Isso pode ser determinado pelo trecho de log do IMQ: glassfish\domains\csmcenter\imq\instances\imqbroker\log
Solução: Acessar o diretório glassfish/domains/csmcenter/imq/instances/imqbroker e excluir o arquivo lock. Em seguida reiniciar a CSM Center.
[14/Mai/2013:03:03:12 BRT] ERROR [B3087]: The broker has detected an active lock file:
D:\Senior\CSMCenter\glassfish\domains\csmcenter\imq\instances\imqbroker\lock
This file indicates that there is another copy of the broker running
on acesso01:6767 that is also using the instance name imqbroker.
Please use a different instance name or terminate the broker on acesso01:6767.
OU
(...)
[#|2015-10-27T11:09:43.144-0200|SEVERE|glassfish3.1.2|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=1;_ThreadName=Thread-2;|Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method
java.lang.RuntimeException: EJB Container initialization error
(...)
Caused by: java.lang.Exception
(...)
Caused by: java.lang.NullPointerException
(...)
Quando ocorre / onde se aplica: Esta situação ocorre quando o Glassfish não conseguiu criar um Broker IMQ, pois já existe um Broker com o nome de instância imqbroker rodando na porta 6767 desse servidor. Em outras palavras, para se comunicar com a CSM, a CSM Center utiliza filas de mensagens JMS. Quando a CSM Center inicia, ela cria um gerenciador para estas filas, com o nome imqbroker, na porta 6767. Se já existir um gerenciador com o mesmo nome rodando nessa porta, ela não consegue criar.
Por que já existia um IMQ Broker? Quando o Glassfish inicia e cria o Broker, ele cria um arquivo lock dentro do seu diretório de instalação para indicar que ninguém mais pode usar um Broker com o mesmo nome na mesma porta. Quando o Glassfish para, ele exlcui esse arquivo. Porém quando o Glassfish para inesperadamente (queda de energia, matando o processo, etc), ele não chega a excluir o arquivo, tornando o Broker lockado eternamente.
Isso pode ser determinado pelo trecho de log do IMQ: glassfish\domains\csmcenter\imq\instances\imqbroker\log
Solução: Acessar o diretório glassfish/domains/csmcenter/imq/instances/imqbroker e excluir o arquivo lock. Em seguida reiniciar a CSM Center.