A estrutura de diretórios do JBoss

A estrutura de diretórios do JBoss

  • bin: O diretório bin contém todos os arquivos binários e scripts necessários para iniciar e parar o servidor JBoss, tanto para ambientes Windows quanto para ambientes *nix/Linux;
  • client: O diretório client contém bibliotecas necessárias para que programas clientes (utilizando-se da infraestrutura do JBoss) possam se comunicar remotamente com o JBoss AS. Portanto, em casos normais estas bibliotecas não são utilizadas pelo servidor em si, mas sim pelos clientes que querem comunicar-se com ele. Exemplos de tais clientes são Swing, AWT, clientes JMS, etc.;
  • docs: Esse diretório geralmente engana todo mundo. Neste diretório geralmente o administrador ainda inexperiente com o JBoss espera encontrar documentações sobre o servidor em si. Porém, neste diretório estão os esquemas XML da configuração utilizada pelo servidor, exemplos de configuração para vários serviços do JBoss AS e resultados de testes unitários. Manuais de usuário e outras documentações devem ser baixados diretamente do site do JBoss;
  • lib: O diretório lib tem as bibliotecas necessárias para inicializar o core do próprio JBoss e geralmente não deve ser modificado (não adicione ou remova arquivos deste diretório). Se você quer disponibilizar uma determinada biblioteca para que as aplicações do servidor possam utilizar, faça isso no diretório referente à configuração do seu servidor no diretório “server”. Este processo será explicado mais adiante;
  • server: Geralmente não existem arquivos aqui, apenas subdiretórios e, em cada um destes subdiretórios, a configuração do servidor. Sempre que você inicia o JBoss você utiliza uma configuração de servidor e cada uma dessas configurações possui um conjunto de opções e aplicações iniciados junto. Cada um dos subdiretórios do diretório server possui vários subdiretórios: conf (as configurações do servidor), lib (as bibliotecas compartilhadas pelas aplicações iniciadas por esta configuração) e deploy (onde se faz o deploy das aplicações). Para ter uma idéia mais clara do que são configurações de servidor, recomendo a leitura da documentação oficial do JBoss. Mais à frente neste texto, darei uma visão mais geral sobre o que são estas configurações;

Configurações de servidor

O JBoss é bastante modular: você não precisa iniciar tudo o que ele disponibiliza mesmo que não vá usar. Desabilitar componentes que não são necessários aumentam a segurança, estabilidade e diminuem o uso de recursos do sistema (além de melhorar o tempo de inicialização do serviço). Ativando e desativando componentes, você cria uma configuração de servidor.

Dentro do diretório “server” existem três exemplos de configuração:

  • minimal: Como esperado, contém o mínimo necessário para que o JBoss possa ser inicializado corretamente. São iniciados o serviço de log, um servidor JNDI e o scanner que encontra novos deploys;
  • default: Configuração padrão utilizada pela maioria das aplicações J2EE. NÃO são iniciados o serviço JAXR, IIOP ou qualquer serviço relacionado a clusters;
  • all: Inicia todos os serviços instalados. Nada fica de fora.

Dentro de cada um dos diretórios citados acima, existem subdiretórios:

  • conf: Contém os arquivos de configuração dos serviços que serão inicializados por esta configuração;
  • data: Contém os dados que devem persistir a reinicializações de serviço (do próprio servidor) e de sistema operacional. O HSQL, por exemplo, armazena seus dados aqui;
  • deploy: É aqui onde o deploy é feito. Você deve colocar aqui os pacotes JAR, WAR ou EAR da sua aplicação para que sejam disponibilizadas pelo JBoss. Este diretório é varrido automaticamente várias vezes para que novas aplicações e mudanças sejam habilitadas rapidamente;
  • lib: Aqui você pode adicionar as bibliotecas necessárias pelas aplicações desta configuração;
  • log: No diretório log ficam os logs gerados pelo Log4j (o serviço de logs utilizado pelo JBoss);
  • tmp: Diretório para armazenar arquivos temporários;
  • work: É aqui que o Tomcat compila os JSPs.

A melhor maneira de se adicionar uma nova configuração no JBoss é copiar alguma outra já existente e fazer as modificações necessárias. Por exemplo, você poderia copiar a “minimal”, habilitar alguns serviços a mais e renomear o diretório “minimal2″, remover o diretório “jms” e reiniciar o JBoss com esta nova configuração executando o comando:

# run -c minimal2

Vale lembrar que os diretórios data, log, tmp e work são criados automaticamente pelo JBoss quando você inicializa o servidor com a configuração pelo menos uma vez. Para iniciar o servidor pela primeira vez, você não precisa necessariamente criar uma configuração especial. Por padrão o JBoss vai usar a configuração “default”. Se ela já for o suficiente para você, pode utilizar o JBoss com ela mesmo.

Iniciando e parando o servidor

Podemos iniciar e parar o serviço de acordo com as necessidades do dia-a-dia.

Vá até o diretório “bin” dentro do diretório do JBoss e execute o script run (pode ser necessário dar permissão de execução para o script run.sh), assim:

# ./run.sh (para Linux/UNIX)

# ./run.bat (para Windows)

Se o seu servidor iniciar corretamente, a última linha será parecida com esta:

02:09:26,426 INFO [org.jboss.bootstrap.impl.base.server.AbstractServer] JBossAS [6.0.0.20100721-M4 “Neo”] Started in 39s:114ms

Indicando que o servidor foi iniciado corretamente em 39 segundos. Por padrão, o JBoss é iniciado na porta 8080 da máquina.

Se você iniciou o JBoss na mão, ele não irá liberar o shell para você continuar trabalhando. Quando você quiser pará-lo, você pode abrir outro shell e executar o script “stop.sh” (ou stop.bat) dentro do diretório “bin” ou simplesmente apertar Ctrl + C, que também fará com que o JBoss seja parado corretamente: em ambos os casos, as mesmas funções serão chamadas antes de o JBoss ser encerrado, evitando deixar “lixo” para trás. A última linha de output quando o servidor é parado deve ser parecida com a seguinte:

02:12:02,513 INFO [AbstractServer] Stopped: JBossAS [6.0.0.20100721-M4 “Neo”] in 3s:76ms

Modificando a porta padrão

Em alguns casos, um outro software que você vá utilizar no ambiente também pode usar a porta 8080 (como o Oracle, por exemplo). Nestes casos, você vai precisar modificar a porta de um dos softwares.

Para modificar a porta, você vai precisar editar o arquivo server/configuração-sendo-utilizada/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml. Dentro deste arquivo, procure pelo trecho à seguir:

jboss.web:service=WebServer HttpConnector 8080 JBoss Web HTTP connector socket; also drives the values for the HTTPS and AJP sockets

Na linha onde aparece a palavra “port” substitua o 8080 pelo número da porta onde você deseja que o JBoss escute por requisições.

Preste muita atenção no detalhe de que você deve alterar este arquivo na configuração de servidor sendo utilizada por você. Se você alterar o arquivo, porém em outra configuração, o JBoss vai continuar ouvindo na porta 8080! Vale também lembrar que você deve “abrir” esta porta no firewall que você está utilizando.

Deixe uma resposta