Criando um Novo Perfil no JBoss AS 7 em Modo Standalone

Postado em

Umas das questões que mais estou me deparando atualmente no JBoss AS 7 é sobre a criação de novos perfis. Sei que isso é trivial para muitas pessoas que estão lendo esse post mas realmente existem dúvidas relacionadas a isso. Em versões anteriores bastava apenas copiar um dos perfis disponiveis como all, default, etc.

No JBoss AS 7 o diretório JBOSS_HOME/standalone deve ser duplicado para a criação de um novo perfil, Por exemplo:

 cp -Rap JBOSS_HOME/standalone JBOSS_HOME/meuperfil

Para iniciar a instância origial execute o comando abaixo:

 ./standalone.sh -c standalone-full.xml

Para iniciar o perfil criado execute:

 ./standalone.sh -c standalone-full.xml -Djboss.server.base.dir=../meuperfil -Djboss.socket.binding.port-offset=150

É necessário definir jboss.server.base.dir com o caminho completo ou como no exemplo acima se você estiver no diretório JBOSS_HOME/bin.
O parâmetro jboss.socket.binding.port-offset é similar ao jboss.service.binding.set com a  diferença de que no parâmetro antigo você passava os intervalos de portas pré definidos como por exemplo ports-01 e já no novo modelo  voce pode passar intervalos de sua preferência como 100, 150, 200, etc.

Espero que tenha ajudado.

[]s

9 comentários em “Criando um Novo Perfil no JBoss AS 7 em Modo Standalone

    Diógenes Torres disse:
    6 de março de 2013 às 17:36

    Olá Mauricio, parabéns pelo material.
    Estou com uma dúvida. Realizei os seguintes procedimentos acima citado.
    Vou citar os passos que realizei. Obs. Estou fazendo os testes em um ambiente local com Windows 7, antes de ir para a produção no Linux Ubuntu.
    Copiei o Jboss7 para a pasta C:\apps\jboss
    Fiz uma cópia da pasta: C:\Apps\jboss\standalone colocando o nome de: perfil1
    Editei o arquivo “standalone.xml” no caminho a seguir alterando a porta-offset para 150: C:\Apps \jboss\perfil1\configuration\standalone.xml alterando a linha: port-offset=”${jboss.socket.binding.port-offset:150}”>

    Dentro do console do CMD, diretamente na pasta bin: C:\Apps\jboss\bin> Executei os comandos:

    C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml
    C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml -Djboss.server.base.dir=../perfil1 -Djboss.socket.binding.port-offset=150

    É preciso alterar as portas de acesso ao HTTP 8080 e ao console 9990 no novo perfil?
    Pois quero abrir cada instancia com uma porta especifica.

    Desde já agradecido pela atenção!

      Mauricio Magnani Jr respondido:
      6 de março de 2013 às 18:52

      E Diogenes Obrigado!!!

      Seguinte vc fez tudo certo já rsrsrs

      C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml — Isso está porta 8080

      C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml -Djboss.server.base.dir=../perfil1 -Djboss.socket.binding.port-offset=150 — isso está na porta 8230 ( 8080 + 150 )

      O port-offset ser para isso… vc colocou as instancias rodando em portas diferentes!!!

      Verifica ai e me diz se está funcionando!

      Abs

    diogenes12 disse:
    6 de março de 2013 às 22:43

    Olá Mauricio, obrigado pela atenção. Vou fazer o teste amanhã cedo e te aviso, mas vai dar certo.
    Uma pequena dúvida, para carregar mais de um perfil, precisarei carregar 5 perfis.
    É conforme coloquei abaixo? Ou é outra a forma de carregá-los?

    C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml -Djboss.server.base.dir=../perfil1 -Djboss.socket.binding.port-offset=150 -Djboss.server.base.dir=../perfil2 -Djboss.socket.binding.port-offset=200 -Djboss.server.base.dir=../perfil3 -Djboss.socket.binding.port-offset=250 -Djboss.server.base.dir=../perfil4 -Djboss.socket.binding.port-offset=300 -Djboss.server.base.dir=../perfil5 -Djboss.socket.binding.port-offset=350

    Abraço!

      Mauricio Magnani Jr respondido:
      7 de março de 2013 às 9:04

      Oi Diogenes… sim basicamente seria isso ou voce poderia criar cópias do standalone.xml. Por exemplo standalone-pefil1.xml e na inicialização apontar para cada xml, só nao me lembro o nome do parametro agora…

      Olhando bem a quantidade de instancias te pergunto: Voce ja pensou em utilizar o domain mode?
      Ficaria bem mais organizado e voce poderia colocar cada aplicação e sua porta especifica o que acha?

      Abs

    diogenes12 disse:
    7 de março de 2013 às 22:42

    Olá Mauricio, obrigação pela atenção!
    Fiz e deu certo. Na citação acima.
    Tive que fazer instancia por instancia:
    C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml -Djboss.server.base.dir=../perfil1 -Djboss.socket.binding.port-offset=150

    C:\Apps\jboss\bin>standalone.bat -c standalone-full.xml -Djboss.server.base.dir=../perfil2 -Djboss.socket.binding.port-offset=200

    Muito trabalhoso!

    Ate tentei fazer da forma como você mencionou no último post, mas não consegui, fazer as cópias do standalone.xml. Como poderia fazer ele?
    Aproveitando, por dominio seria melhor, todavia não tenho experiencia no JBoss, você poderia me instruir para criar por domínio.

    Abraço, obrigado pela atenção!

    Diógenes Torres disse:
    12 de março de 2013 às 8:57

    Olá Mauricio, obrigado pela atenção de sempre.
    Amigo, estou com uma dúvida, já estou com o meu ambiente em produção, criei algumas instancias e estou rodando conforme ambiente acima, na verdade com algumas complexidades a mais.

    Estou tentando parar uma instancia especifica, quando rodo o comando: #/jboss/bin/jboss-cli.sh –connect command=:shutdown
    Para parar uma aplicação, ele para apenas a do perfil Standalone-Full, como poderia proceder para parar um perfil especifico?

    Abraço.

      Mauricio Magnani Jr respondido:
      12 de março de 2013 às 9:15

      Oi Diógenes, no problem.
      Cara acredito que voce não consiga para um profile pois profiles são apenas conjuntos de tecnologias agrupadas e não uma instância em si, por isso disse que o modo Domain seria mais interessante para o seu ambiente!

      Mas eu entendi o que voce quis dizer ( pelo menos eu acho )…

      Acho que vc está rodando todas as instancias na mesmo máquina e fazendo binding no mesmo ip correto? Acredito que vc utilizou o jboss.socket.binding.port-offset que por exemplo em 100 eleva a management.native.port para 10099 entao para parar a instancia que está no offset “100” siga os passos abaixo:

      magnani:jboss-as-7.1.1.Final mmagnani$ ./bin/jboss-cli.sh
      You are disconnected at the moment. Type ‘connect’ to connect to the server or ‘help’ for the list of supported commands.
      [disconnected /] connect localhost:10099
      [standalone@localhost:10099 /] :shutdown

      É isso ai mano!

      Aquele Abraço!

Deixar mensagem para Mauricio Magnani Jr Cancelar resposta