Resolvendo IP_MULTICAST_IF error no JBoss AS 7.1.1
Olá amigos,
Ontem configurando uma instância do JBoss AS 7 passei por um novo problema. Quando iniciei a instância utilizando o parâmetro “-Djboss.bind.address=0.0.0.0” (para deixar o JBoss acessível externamente), a seguinte exception foi lançada:
17:57:38,882 ERROR [org.jboss.msc.service.fail] (pool-14-thread-1) MSC00001: Failed to start service jboss.jgroups.channel.web: org.jboss.msc.service.StartException in service jboss.jgroups.channel.web: java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
Esse problema ocorreu por que o IPv6 estava configurado no servidor Linux e o JBoss (JGroups) não funciona supostamente devido a um bug no JDK 5. Isso já foi corrigido no JDK 6 mas mesmo assim em JVMs da SUN ainda é necessário utilizar o parâmetro “-Djava.net.preferIPv4Stack=true” . Confesso que fiquei meio que na dúvida mas se encontrar mais informações eu coloco aqui.
Esse parâmetro pode ser adicionado das seguintes maneiras:
1° – Inicialize a instância com esse parâmetro:
./standalone.sh -Djava.net.preferIPv4Stack=true
ou
./domain.sh -Djava.net.preferIPv4Stack=true
2° – Você pode editar o arquivo JBOSS_HOME/bin/domain.conf ou JBOSS_HOME/bin/standalone.conf e adicionar essa propriedade no JAVA_OPTS:
JAVA_OPTS="$JAVA_OPTS -Dbr.com.groupon.reward.env=dev -Xms512m -Xmx1024m -XX:MaxPermSize=512m -Djboss.bind.address=0.0.0.0 -Djava.net.preferIPv4Stack=true"
3° – Essa propriedade pode ser adicionada no arquivo standalone.xml ou domain.xml como um propriedade:
<?xml version='1.0' encoding='UTF-8'?> <domain xmlns="urn:jboss:domain:1.3"> <extensions> ... </extensions> <system-properties> <property name="java.net.preferIPv4Stack" value="true"/> </system-properties>
É isso ai galera. Espero que tenha ajudado.
Abraços
Fonte: https://community.jboss.org/wiki/IPv6