Inicializando o JBoss como serviço do Windows

Ontem precisei configurar um JBoss para ser inicializado com um serviço do Windows e para isso usei o “JBoss Web Native Connectors“.

Os procedimentos que vou mostrar estão orientados ao JBoss 4.2.3, porque essa versão não vem com o utilitário para instalar o serviço do windows no pacode de download padrão.

Então vamos aos procedimentos:

  1. Faça o download do “JBoss Web Native Connectors” versão 2.0.8 correspondente ao seu sistema operacional (Windows 32 ou 64 bits).
  2. Descompacte o arquivo “jboss-native-2.0.8-windows-x64-ssl.zip” (no caso de um Windows 64 bits) e copie apenas os arquivos do diretório “bin” (“README-service.txt“, “jbosssvc.exe“, “jbossweb.x64.exe“, “jbosswebw.x64.exe” e “service.bat“)  para “JBOSS_HOME\bin“.
  3. Edite o arquivo “service.bat” alterando as linhas 75 e 104, de “call run.bat < .r.lock >> run.log 2>&1” para “call run.bat -b 0.0.0.0 -c default < .r.lock >> run.log 2>&1“. Explicando a linha de comando:
    • -b 0.0.0.0 => é para indicar que o servidor pode ser acessado de qualquer máquina na rede.
    • -c default => indica que a configuração de servidor a ser iniciada é a “default” (as configurações de servidor do JBoss disponíveis ficam em “JBOSS_HOME\server“).
  4. No prompt de comando acesse o diretório “JBOSS_HOME\bin” e execute o comando “service.bat install“.

Com os passos mostrados anteriormente você vai ter um serviço instalado no Windows para o JBoss com o nome “JBAS50SVC“. Para alterar o nome do serviço que será instalado você deve, antes de executar os passos descritos, alterar as linhas 20, 21 e 22 do arquivo “service.bat” com o nome e descrição mais adequados para o serviço.

Para inicializar as versões do JBoss 5.x.x como serviço do windows você precisa apenas executar os passos 3 e 4 pois essas versões já vem com o utilitário de instalação do serviço.

A fonte que utilizei para esse tutorial foi um post no blog da Adobe com o título “Running LiveCycle on JBoss as a 64-bit Windows Service” portanto, se você quiser consultar minha fonte acesse este link.

No caso do Windows 2008, Windows 7 e Windows Vista lembre-se de executar o prompt de comando como administrador (botão direito “Executar como administrador”) pois se você esquecer desse detalhe o serviço não vai ser instalado corretamente, portanto, muita atenção com esse detalhe.

Qualquer dúvida deixe um comentário.

— Atualização em 21/08/2013

Pessoal, já faz algum tempo que eu elaborei esse post.

Pelo que vi ele tem ajudado muita gente e fico extremamente feliz por isso mas, na época que eu o escrevi a versão estável do JBOSS já era a versão 6 e a 4.2.3 já havia sido “descontinuada” (sem novas releases) a mais de 2 anos.

Levando em conta que já são quase 3 anos deste post e 5 da versão alvo dele e que a versão atual é a 7.1 decidi por “fechar” o post para novos comentários.

Obrigado por terem lido.

Herberson

26 pensamentos sobre “Inicializando o JBoss como serviço do Windows

  1. Olá, gostaria apenas de dizer obrigado segui todos os passos que apresentou aqui no seu blog e consegui simular em um ambiente aqui na empresa. Amanhã vou ao cliente preparado e tenho certeza que vai dar tudo certo. Seu blog já está add no Favoritos, muito boas as dicas!

    Abraço.
    Eduardo.

  2. brother, boa tarde,

    primeiro gostaria de saber para startar o serviço, eu vou em

    JBOSS_HOME\BIN\SERVICE START????

    e saberia me informar como eu faço para adicionar tambem na lista de serviços do windows (services.msc)??

    valeu

    • Basta você seguir os passos descritos no post o serviço aparecerá com o nome “JBAS50SVC” na lista de serviços do Windows (services.msc).
      Por mais estranho que pareça é tão simples quanto parece mas, se você encarou algum problema seguindo os passos que descrevi, por favor, me dê mais detalhes que vou fazer o possível para auxiliá-lo.

      • entao, eu fiz exatamente como o descrito acima mas nao apareceu na lista.
        vamos lá, estou testando no meu equipamento com windows 7 mas esse procedimento será feito em um windows 2003 server com a versao 5.1.0.GA.

        executei todos os passo (3 e 4) e apresentou que o serviço foi instalado.

        mas nao aparece na lista.

        =(

        alguma ideia???

      • Não testei os procedimentos no Windows 7, mas eu testei no Windows 2003 Server e funcionou.
        O nome que você vai ver na lista de serviço do Windows é “JBoss Application Server 5.1”.
        Em relação ao Windows 7, ainda não tenho uma máquina virtual para reproduzir os passos.

    • Só complementando a resposta anterior, uma vez que você adicionar na lista de serviços para iniciá-lo você vai seguir os mesmos passos que você segue para qualquer outro serviço do Windows.

  3. heberson, perfeito para windows 2003 server, mas para windows 7(2008) este procedimento nao funciona.

    se puder depois postar como efetuar no windows 7 (2008) agradeceria pois em breve irão migrar o servidor web do meu cliente.

    Obrigado.

    • Alex,

      Montei uma VM com Windows 7 Profession 64bits e executei os passos do post e consegui visualizar o serviço do JBoss na lista de serviços do Windows (services.msc).

      Um detalhe importante é que executei o “Prompt de Comando” como Administrador (botão direito do mouse “Executar como administrador”) se isso não foi feito concerteza você terá problemas ao executar os passos que descrevi.

      Estava olhando minhas anotações e me recordei de ter executado esses passos num cliente com Windows 2008 Server 64bits e, principalmente por se tratar do cliente, deixei o serviço funcionando. Entretanto, temos aqui o mesmo detalhe na forma de execução do prompt de comando que descrevi anteriormente.

      Espero que a explicação lhe ajude.

      Herberson

      • perfeito, agora sim.
        só para acrescentar, quando for editar o service.bat existe uma linha para setar o JAVA_OPTS, eu baixei direto do jboss.org e esta linha estava em branco e deste modo apresenta erro de estouro de memoria, no meu caso eu coloquei os mesmo parametros que estao na run.bat.conf e rodou legal.

        Esse detalhe do windows 7 / server 2008 me pegou.

        muito obrigado pela ajuda.

  4. Pingback: Jboss como serviço do Windows « Blog do Erich

  5. Queridos Amigos, segui os procedimentos aqui apresentado eo serviço foi instalado, mais fica no status N/A no windows 7 x64… e eu não consigo fazer funcionar meu site de minha intranet residencial….
    Poderiam me ajudar por favor???

    • Paulo,

      Eu verifiquei esses procedimentos no Windows 7 x64 e eles funcionaram.
      Então verifique:

      1) Você executou o prompot de comando como administrador?

      2) Criou a exceção no firewall do Windows para que ele não barre as requisições para o seu serividor?

      • Heberson,

        obrigado por responder, sim eu executei sim, mas eu cheguei a conclusão que deve ser por que eu já tenho o jBoss versão (jboss-4.0.3SP1) instalado, mas não como serviço, e infelizmente não funcionou mesmo.
        Toda vez que eu preciso usar este outro, fica uma janela do dos aberta, e se eu fecho a janela, o serviço executa automaticamente o shutdown.

        Eu queria executar sem precisar deixar esta janela aberta… é possivel?
        O instalador da versão citada é um .jar, e eu realmente não sei se instalei certo. Se voce quizer eu te mando este .jar para voce ver como funcione, e quem sabe me d~e uma luz, pois foi por isto que eu optei para esta versão que voce apresenta aqui.

        desde já agradeço.

      • Paulo,

        Pelo visto seu problema não está mais na instalação do serviço no Windows e infelizmente não tenho mais como ajudá-lo.

        Espero que você encontre uma solução.

        Herberson

  6. Herberson,

    consegui resolvr o problema da seguinte maneira:

    primeiro, segui todos passos que voce indicou aqui;
    segundo, desinstalei o que já estava na maquina que eu usaja o NETBEANS, pois só corrigindo a pasta ele não entendia, apresentava um erro;
    terceiro, após desistalar do NETBEANS eu instalei com o novo endereço;
    quarto, re iniciei a maquina e assim já veio como serviço ativado no windows.

    Muito obrigado Heberson.

  7. Amigos aqui deu o erro java.lang.Exception: Port 8083 already in use.
    Estranho pois nao tenho mais nada rodando nesta porta!

      • Este erro de porta em uso é generico, ou seja não quer dizer que realmente a porta esta em uso, no meu caso o ip que atribui para a instancia estava errado, fica ai a dica

  8. Bom dia Senhores.
    Para ajudar:
    Pois bati um pouco a cabeça com isso.
    Com o Update para o Jboss 7.1 FInal
    Em vez de Rodar o RUN.BAT tem que rodar o DOMAIN.BAT.
    Então logo fica na configuração abaixo para colocar como serviço.

    Modifiquei 3. Passo
    Edite o arquivo “service.bat” alterando as linhas 75 e 104, de “call run.bat > run.log 2>&1” para “call domain.bat -b 0.0.0.0 -c default > run.log 2>&1“. Explicando a linha de comando:

    Funcionará perfeitamente o Jboss Como Serviço.

  9. parabens pelo post fiz certinho, so queria deixar destacado para os que ainda vão ver este, que mudem o nome do jboss na bat rsss me distrai com isso, estou usando o 7 e aparece 5, enfim parabens.

    O VERDADEIRO SABIO É O QUE COMPARTILHA SEUS CONHECIMENTOS, E NÃO O QUE OS GUARDA.

    ABRAÇO ALCDUCK

  10. Fiz a alteração desse campo para outro nome (-c default => indica que a configuração de servidor a ser iniciada é a “default” (as configurações de servidor do JBoss disponíveis ficam em “JBOSS_HOME\server“).) Instalei o serviço direitinho no prompt, aparece a lista o serviço, porem não mostra a pasta que foi alterada de default p outro nome.
    só aparece depois de start o serviço?
    ou teve algum erro?

    • Não tenho certeza sobre o problema mas para te ajudar, preciso saber se você está utilizando uma das versões apontadas no post, pois não atualizei para versões mais recentes do JBOSS.

      Mas adiantando, que eu me lembre, não vai aparecer no serviço o nome do diretório apenas o nome do serviço indicado no arquivo “service.bat”.

      • Estou usando o Jboss4.2.3.
        Não é no Nome do Serviço que deveria aparecer, e sim no Jboss_Home\server\default (no lugar do default a pasta com o nome que eu alterei no wrapper.conf “-c default “), ja existem 2 Serviços criados, estou criando o terceiro.

      • No post eu utilizo apenas o arquivo service.bat para configurar o serviço.

        Na linha 20 desse arquivo você define o nome do serviço para o Windows e é nele em que você define o nome da configuração como apontei no post.

        A questão do “-c default” que eu menciono é nesse mesmo arquivo, o service.bat.

        Como você está utilizando o arquivo “wrapper.conf”, acho que não vou conseguir ajudá-la com seu problema.

Os comentários estão desativados.