Configurando duas instâncias no JBoss para rodar na mesma máquina

Escrito por paulovittor23, 13 de Novembro de 2009 10:08 PM

Configurando duas instâncias no JBoss para rodar na mesma máquina

Quem já precisou rodar mais de uma instância no Jboss certamente já teve problemas como:

java.rmi.server.ExportException: Port already in use: 8080; nested exception is:
java.net.BindException: Address already in use: JVM_Bind

Este problema é muito comum para as portas padrões do JBoss, como por exemplo: 1098,1099,8009,8080,8083 e 4444.

Para resolver este problema, existe uma receita de bolo fácil de seguir!

1. Na instalação do JBoss, duplique a configuração all fazendo uma cópia do diretório. A cópia terá o nome all2.

2. Dentro do diretório $JBOSS_HOME/docs/examples/binding-manager do JBoss existe um arquivo chamado sample-bindings.xml. Este arquivo pode ser carregado na inicialização do JBoss para definir quais são as portas utilizadas pelo container. Vamos ver como fazer isto.

3. Para carregar o arquivo sample-bindings.xml, você deve habilitar o MBean que está dentro do arquivo jboss-service.xml de cada um das instancias (independente de ser minimal, default, all ou alguma customizada).

4. Edite o arquivo $JBOSS_HOME/server/all/conf/jboss-service.xml. Localize o MBean “org.jboss.services.binding.ServiceBindingManager”. Ele deverá estar comentado. Remova o comentário. Salve o arquivo.

5. Edite o arquivo $JBOSS_HOME/server/all2/conf/jboss-service.xml. Localize o MBean “org.jboss.services.binding.ServiceBindingManager”. Ele deverá estar comentado. Remova o comentário. Localize o elemento:

<attribute name=”ServerName”>ports-01</attribute>

6. Altere o valor de “ports-01” para “ports-02”. Salve o arquivo.

7. No arquivo sample-bindings.xml já existe 3 conjuntos diferentes de portas (<attribute name=”ServerName”>ports-xxx</attribute>)pré-configurados (ports-default, ports-01, ports-02).

8. Basta configurar o arquivo jboss-service.xml dentro da pasta conf de cada instancia (minimal, default, all) apontando para um “ServerName” diferente, ou seja, ports-default, ports-01 ou ports-02.

9. Execute cada uma das instâncias com os comandos:
“./run.sh -c all”
“./run.sh -c all2″

Deixe o seu comentário!

Panorama Theme by Themocracy