(a intenção era ter postado no java iniciante, se alguem puder mover fico grato)
Boa Tarde Pessoal,
Estou escrevendo um programa para fazer backup oracle via java e enviar via scp para um outro servidor, as duas partes estão funcionando(então que que eu estou fazendo aqui?rs)porém tenho que esperar o backup terminar para ai sim transferi-lo ao servidor… ae que começa meu parto…
não consigo identificar quando o processo do exp termina, já tentei de várias formas, com thread e com inputstream porém nada…
alguem tem alguma ideia?
segue meu código
String s = "usuario/senha@XE file=\"" + scp.getArquivo() + ".dmp\""
+ " owner=" + ownerlist + " log=" + scp.getArquivo() + ".log";
String command = "C:\\oraclexe\\app\\oracle\\product\\10.2.0\\server\\BIN\\exp.exe " + s;
//String command = "C:\\dmp\\bat.bat";
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
percebo que o processo exp.exe fica travado, ele cria um arquivo .dmp de 2 kb e nada, não continua a execução, nas três formas que eu fiz o comportamento é o mesmo, porém se eu mato a execução do java o exp continua normalmente e gera o backup.
PS: aquele comentario com o bat é uma outra tentativa de tentar criar um bat pra tentar monitorar pensando ser problema do exp, mas acredito que está me faltando dedo mesmo.
Obrigado