Jar externo chamado via Runtime, erro no windows

0 respostas
maior_abandonado

Boa tarde a todos, antes de tudo obrigado aos que procurarem ajudar de alguma forma,

vou explicar meu cenário:

tenho alguns modulos, são arquivos .jar que normalmente são executados no shell por exemplo (ou no dos, sem problemas até então), java -jar arquivo.jar <parametros>.

Basicamente estes módulos de uma forma geral criam x threads para processar paralelamente arquivos que estão em disco ou dados que estão no banco de dados, criando um arquivo de log para cada thread e um arquivo de log para a thread mãe que criou as outras. Isso tudo está funcionando normalmente.

Surgiu a necessidade de criar um outro módulo que chamaria estes em determinadas circunstâncias, então na hora que tiver que chamar estes outros módulos eu dava aquele famoso Runtime.getRuntime().exec(“java -jar…”) e dou um wairFor() no meu process retornado por este comando… e ai que está o problema, o jar chamado inicia a thread mãe, ela começa a logar, nos casos em que ela criaria novas threads fica tudo parado, os logs das novas threads não aparecem e o log da thread mãe não muda mais nada, então fica paralisado. Se eu mato o processo do meu módulo novo que estava chamando o módulo antigo, ai nessa hora aparecem os arquivos de log das threads filhas do módulo antigo que estava paralisado (a impressão que da é que ele estava esperando alguma coisa para ou gravar os arquivos de log, ou processar as threads, não sei, sei la se algum recurso estaria locado e não sei como verificar isso).

O mais estranho é que isso só ocorre no Windows. Minha maquina de desenvolvimento é widnows 7 x64 e ocorre isso, coloquei aqui tudo num servidor de testes que é um linux funciona normal… certinho…

ok… alguém sabe como eu poderia resolver isso no windows?

Criado 5 de junho de 2012
Respostas 0
Participantes 1