Problema com JBoss "JVM_BIND in use" [RESOLVIDO]

E aí galera, tudo bem com vocês?

Seguinte, eu sempre sofri com aquele velho problema do “JBoss JVM_BIND in use”.

Resolvi compartilhar a solução com vocês porque isso nunca foi fácil achar a solução.

Sempre que ocorre esse problema é necessário verificar e matar o processo que esteja usando a porta 1098.

No Windows rode na linha de comando:

netstat -a -n -o taskkill /PID num

Colocando em num o número do processo da porta que foi dado na lista do netstat.

Abraços pra todos.

Boa alternativa. Já vem com o Windows.
Eu costumo utilizar o TCPView e nunca tive problemas.

[]'s

Brother, o meu continua dando erro, por mais que eu tenha feito o taskkill.

Um Brother do suporte me falou pra matar o processo da porta que ele mostra que esta sendo usada, e nao da 1098.

Mesmo assim, nenhum dos 2 jeitos funcionou.

isso é um paliativo, e não uma solução definitiva. assim que possível, colocarei algo definitivo.

Estou voltando aqui com a solução, que acredito ser definitiva! \o
Basta alterar um arquivo que mepeia as portas. Mas antes é necessário
verificar uma coisinha no jboss-service.xml. Simbora!

Localize o bloco abaixo, que por padrão, vem comentado.

   <mbean code="org.jboss.services.binding.ServiceBindingManager"
     name="jboss.system:service=ServiceBindingManager">
     <attribute name="ServerName">homer</attribute>
     <attribute name="StoreURL">${jboss.home.url}\docs\examples\binding-manager\sample-bindings.xml</attribute>
     <attribute name="StoreFactoryClassName">
       org.jboss.services.binding.XMLServicesStoreFactory
     </attribute>
   </mbean>

E descomente este código. (mova o ‘–>’ que aparece embaixo dele, para
ficar antes do bloco). E salve este arquivo.

Com isso o jboss-service.xml passará a utilizar o conjunto de portas que
está dentro do sample-bindings.xml. Agora vem o pulo do gato!

Abra o sample-bindings.xml e localize o bloco abaixo, que não estará comentado.

<service-config name="jboss:service=Naming" delegateClass="org.jboss.services.binding.AttributeMappingDelegate" > <delegate-config portName="Port" hostName="BindAddress"> <attribute name="RmiPort">1098</attribute> </delegate-config> <binding port="1099" host="${jboss.bind.address}"/> </service-config>
E na tag altere a porta, eu coloquei troquei para 1198
e foi que foi. Salve este arquivo.

:mrgreen: Agora reinicia o serviço do jboss. :mrgreen:

Bom, acredito que isso seja algo definitivo, onde seu ambiente não enfrente mais
este problema. Eu também estava com o mesmo erro, e com isso foi resolvido.

Se é a maneira certa, eu não sei. Mas funcionou =)

Você apenas está trocando a porta, mas o problema de “porta presa” ainda vai persistir.
O problema é que fica um processo “morto” prendendo a porta, por isso tem de matá-lo.

[quote=danieldestro]Você apenas está trocando a porta, mas o problema de “porta presa” ainda vai persistir.
O problema é que fica um processo “morto” prendendo a porta, por isso tem de matá-lo.[/quote]

hmmmm… é, ali ta alterando a porta. mas este processo morto, não deveria cair fora quando se reincia o serviço?
aqui eu matava o processo, mas ele continuava la, utilizando a porta. como se não tivesse sido derrubado.

vou pesquisar mais um pouco.

Pessoal, alguém sabe a solução disso ?? To usando o Jboss 4.2.2 GA

Já verifiquei se tem porta ocupada;
Já troquei o número da porta…
Nada funciona!!

java.net.BindException: Cannot assign requested address: JVM_Bind:8888

[quote=paulo.f.rodriguez]
Pessoal, alguém sabe a solução disso ?? To usando o Jboss 4.2.2 GA

Já verifiquei se tem porta ocupada;
Já troquei o número da porta…
Nada funciona!!

java.net.BindException: Cannot assign requested address: JVM_Bind:8888[/quote]

Pelo netstat ou TCPView nao tem nada a respeito dessa porta 8888?

não…mas já troquei pra várias portas…nenhuma levanta.

Resolvi:
Apesar do firewall estar desativado na minha máquina, de alguma forma a rede conseguia barrar…
Quem tiver esse problema pode testar arrancando o cabo de rede.

Interessante hein, poderia ser algo relacionado com proxy tb (será?)

DEpois edita o titulo e joga um [RESOLVIDO] =P

Não sei te explicar há chances de proxy sim…vou jogar a bomba pra TI mas se souber de algo feito pra resolver eu Edito.

Só vou acrescentar algumas informações que achei pelos fórums para caso seja útil a alguém, vou colocar como resolvido, mas quem quiser reabrir fique a vontade.

Na prática, todos os problemas apontam estar relacionados com a rede.
Algumas pessoas não conseguem localizar via netstat ou outro software as portas ocupadas pois existem portas (geralmente as altas) que são ocupadas aleatóriamente por outros programas como ftp, firefox etc…

Problemas como Microsoft Office Communicator ocupado portas foram bastante relatados, alguns conseguiram resolver desligando esse software.

Dessa forma, o segredo é trocar a porta para uma bizarra e com valor alto, ou arrancar a máquina da rede para verificar se a rede não está barrando, além do tradicional teste do firewall local e anti-vírus…

Espero que ajude.

Abraços!

só uma pergunta, quem pode editar o título e por como resolvido ?

Geralmente o autor do topico, é só trocar no seu primeiro post senao me engano.

Isso que falou acontece mesmo, lembro que o Outlook e um instant messenger na empresa conflitavam com o jboss para o uso das portas e acontenciam esses problemas. Mas que bom que conseguiu solucionar

Olá pessoal,
só colocando mais um motivo que pode ser a causa do erro:

Pode ser que esteja sendo passado o IP errado na inicialização do JBoss. Aparece que a porta está em uso, mas o motivo é que o IP está errado.

Att.

[quote=Adelar]Olá pessoal,
só colocando mais um motivo que pode ser a causa do erro:

Pode ser que esteja sendo passado o IP errado na inicialização do JBoss. Aparece que a porta está em uso, mas o motivo é que o IP está errado.

Att.[/quote]

Não entendi, como assim?

[quote=A.L][quote=Adelar]Olá pessoal,
só colocando mais um motivo que pode ser a causa do erro:

Pode ser que esteja sendo passado o IP errado na inicialização do JBoss. Aparece que a porta está em uso, mas o motivo é que o IP está errado.

Att.[/quote]

Não entendi, como assim?[/quote]

Quando inicia o JBoss pelo run.sh (ou run.bat) se passam vários parâmetros, dentre eles o parâmetro -h, em que é passado o IP da máquina local.

Hoje eu estava tendo um problema de porta que já estava em uso. Verifiquei que haviam trocado o IP… Ao alterar o IP passado como parâmetro na inicialização do JBoss para o novo o erro não ocorreu mais.

O provável era que havia um processo utilizando a mesma porta, mas não era o que ocorria.

Att.

Hmmm entendi! Bom saber disso, mais uma pra coleção

Estou com um caso parecido, aqui meu JBOSS diz que a porta 8083 está em uso, o que não é verdade, pois não tem nada usando, e listando a utilização das portas via netstat ou tcpview a porta 8083 não está em uso, e mesmo dando o comando taskkill o mesmo retorna dizendo que a porta não está em uso, vou tentar analisar o problema reportado pelo Adelar.