Hoje não tive tempo de ver nada para postar pois tive que tentar resolver um problema que o pessoal da empresa em que eu trabalhava está tendo com procedures do Oracle escritas em Java.
O problema é que a procedure executa um comando no sistema operacional e cria um "processo" que nunca é morto, o que devora a momória da máquina obrigando que o servidor seja resetado para liberar espaço.
Bom uma prévia da classe está aqui:
public class ComandoSO {
public static void executarComando(String coman
do) {
String[] linhaComando;
if (System.getProperty("os.name").toLowerC
ase().indexOf("windows") != -1) {
linhaComando = new String[4];
//Para XP e 2003, se for NT colocar
winnt
linhaComando[0] = "C:\\windows\\system32
\\cmd.exe";
linhaComando[1] = "/y";
linhaComando[2] = "/c";
linhaComando[3] = comando;
}
else {
linhaComando = new String[3];
linhaComando[0] = "/bin/sh";
linhaComando[1] = "-c";
linhaComando[2] = comando;
}
try {
Process pr = Runtime.getRuntime().exec(
linhaComando);
pr.destroy();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
executarComando("copy c:\\etiqueta.txt
lpt1");
}
}
Se alguém tiver uma dica para me dar COMENTE!!!
Até a próxima.
3 comentários:
Não consegui reproduzir o erro aqui na minha máquina :/
Mas aaaaaaaaaaaaaaaaaaaaa, quer dizer que voltou a atualizar essa increnca então! É isso aí!
Muito bom o conteúdo!
Abração!
Pois é Tiago, fora do Oracle não esta dando problema a classe... vou abrir uma TAR na Oracle e ver o que eles me dizem, nem no meta link tem resposta para isso ainda.
Abraços.
Postar um comentário